UNPKG

@openhps/core

Version:

Open Hybrid Positioning System - Core component

52 lines (49 loc) 1.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.viewportSharedTexture = exports.default = void 0; var _ViewportTextureNode = _interopRequireDefault(require("./ViewportTextureNode.js")); var _TSLBase = require("../tsl/TSLBase.js"); var _ScreenNode = require("./ScreenNode.js"); var _FramebufferTexture = require("../../textures/FramebufferTexture.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } let _sharedFramebuffer = null; /** * `ViewportTextureNode` creates an internal texture for each node instance. This module * shares a texture across all instances of `ViewportSharedTextureNode`. It should * be the first choice when using data of the default/screen framebuffer for performance reasons. * * @augments ViewportTextureNode */ class ViewportSharedTextureNode extends _ViewportTextureNode.default { static get type() { return 'ViewportSharedTextureNode'; } /** * Constructs a new viewport shared texture node. * * @param {Node} [uvNode=screenUV] - The uv node. * @param {?Node} [levelNode=null] - The level node. */ constructor(uvNode = _ScreenNode.screenUV, levelNode = null) { if (_sharedFramebuffer === null) { _sharedFramebuffer = new _FramebufferTexture.FramebufferTexture(); } super(uvNode, levelNode, _sharedFramebuffer); } updateReference() { return this; } } var _default = exports.default = ViewportSharedTextureNode; /** * TSL function for creating a shared viewport texture node. * * @tsl * @function * @param {?Node} [uvNode=screenUV] - The uv node. * @param {?Node} [levelNode=null] - The level node. * @returns {ViewportSharedTextureNode} */ const viewportSharedTexture = exports.viewportSharedTexture = /*@__PURE__*/(0, _TSLBase.nodeProxy)(ViewportSharedTextureNode).setParameterLength(0, 2);