UNPKG

@openhps/core

Version:

Open Hybrid Positioning System - Core component

62 lines (58 loc) 1.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.builtin = void 0; var _Node = _interopRequireDefault(require("../core/Node.js")); var _TSLBase = require("../tsl/TSLBase.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * The node allows to set values for built-in shader variables. That is * required for features like hardware-accelerated vertex clipping. * * @augments Node */ class BuiltinNode extends _Node.default { /** * Constructs a new builtin node. * * @param {string} name - The name of the built-in shader variable. */ constructor(name) { super('float'); /** * The name of the built-in shader variable. * * @type {string} */ this.name = name; /** * This flag can be used for type testing. * * @type {boolean} * @readonly * @default true */ this.isBuiltinNode = true; } /** * Generates the code snippet of the builtin node. * * @param {NodeBuilder} builder - The current node builder. * @return {string} The generated code snippet. */ generate( /* builder */ ) { return this.name; } } var _default = exports.default = BuiltinNode; /** * TSL function for creating a builtin node. * * @tsl * @function * @param {string} name - The name of the built-in shader variable. * @returns {BuiltinNode} */ const builtin = exports.builtin = (0, _TSLBase.nodeProxy)(BuiltinNode).setParameterLength(1);