@openhps/core
Version:
Open Hybrid Positioning System - Core component
49 lines (46 loc) • 1.7 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.viewportDepthTexture = exports.default = void 0;
var _ViewportTextureNode = _interopRequireDefault(require("./ViewportTextureNode.js"));
var _TSLBase = require("../tsl/TSLBase.js");
var _ScreenNode = require("./ScreenNode.js");
var _DepthTexture = require("../../textures/DepthTexture.js");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
let sharedDepthbuffer = null;
/**
* Represents the depth of the current viewport as a texture. This module
* can be used in combination with viewport texture to achieve effects
* that require depth evaluation.
*
* @augments ViewportTextureNode
*/
class ViewportDepthTextureNode extends _ViewportTextureNode.default {
static get type() {
return 'ViewportDepthTextureNode';
}
/**
* Constructs a new viewport depth texture node.
*
* @param {Node} [uvNode=screenUV] - The uv node.
* @param {?Node} [levelNode=null] - The level node.
*/
constructor(uvNode = _ScreenNode.screenUV, levelNode = null) {
if (sharedDepthbuffer === null) {
sharedDepthbuffer = new _DepthTexture.DepthTexture();
}
super(uvNode, levelNode, sharedDepthbuffer);
}
}
var _default = exports.default = ViewportDepthTextureNode;
/**
* TSL function for a viewport depth texture node.
*
* @tsl
* @function
* @param {?Node} [uvNode=screenUV] - The uv node.
* @param {?Node} [levelNode=null] - The level node.
* @returns {ViewportDepthTextureNode}
*/
const viewportDepthTexture = exports.viewportDepthTexture = /*@__PURE__*/(0, _TSLBase.nodeProxy)(ViewportDepthTextureNode).setParameterLength(0, 2);