@openhps/core
Version:
Open Hybrid Positioning System - Core component
58 lines (55 loc) • 1.88 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _Renderer = _interopRequireDefault(require("../common/Renderer.js"));
var _WebGLBackend = _interopRequireDefault(require("../webgl-fallback/WebGLBackend.js"));
var _WebGPUBackend = _interopRequireDefault(require("./WebGPUBackend.js"));
var _BasicNodeLibrary = _interopRequireDefault(require("./nodes/BasicNodeLibrary.js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* This alternative version of {@link WebGPURenderer} only supports node materials.
* So classes like `MeshBasicMaterial` are not compatible.
*
* @private
* @augments Renderer
*/
class WebGPURenderer extends _Renderer.default {
/**
* Constructs a new WebGPU renderer.
*
* @param {WebGPURenderer~Options} [parameters] - The configuration parameter.
*/
constructor(parameters = {}) {
let BackendClass;
if (parameters.forceWebGL) {
BackendClass = _WebGLBackend.default;
} else {
BackendClass = _WebGPUBackend.default;
parameters.getFallback = () => {
console.warn('THREE.WebGPURenderer: WebGPU is not available, running under WebGL2 backend.');
return new _WebGLBackend.default(parameters);
};
}
const backend = new BackendClass(parameters);
super(backend, parameters);
/**
* The generic default value is overwritten with the
* standard node library for type mapping. Material
* mapping is not supported with this version.
*
* @type {BasicNodeLibrary}
*/
this.library = new _BasicNodeLibrary.default();
/**
* This flag can be used for type testing.
*
* @type {boolean}
* @readonly
* @default true
*/
this.isWebGPURenderer = true;
}
}
var _default = exports.default = WebGPURenderer;