UNPKG

@openhps/core

Version:

Open Hybrid Positioning System - Core component

58 lines (55 loc) 1.88 kB
"use strict"; 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;