UNPKG

@openhps/core

Version:

Open Hybrid Positioning System - Core component

59 lines (52 loc) 2.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.transformedBitangentWorld = exports.transformedBitangentView = exports.bitangentWorld = exports.bitangentView = exports.bitangentLocal = exports.bitangentGeometry = void 0; var _VaryingNode = require("../core/VaryingNode.js"); var _Camera = require("./Camera.js"); var _Normal = require("./Normal.js"); var _Tangent = require("./Tangent.js"); const getBitangent = crossNormalTangent => crossNormalTangent.mul(_Tangent.tangentGeometry.w).xyz; /** * TSL object that represents the bitangent attribute of the current rendered object. * * @tsl * @type {Node<vec3>} */ const bitangentGeometry = exports.bitangentGeometry = /*@__PURE__*/(0, _VaryingNode.varying)(getBitangent(_Normal.normalGeometry.cross(_Tangent.tangentGeometry)), 'v_bitangentGeometry').normalize().toVar('bitangentGeometry'); /** * TSL object that represents the vertex bitangent in local space of the current rendered object. * * @tsl * @type {Node<vec3>} */ const bitangentLocal = exports.bitangentLocal = /*@__PURE__*/(0, _VaryingNode.varying)(getBitangent(_Normal.normalLocal.cross(_Tangent.tangentLocal)), 'v_bitangentLocal').normalize().toVar('bitangentLocal'); /** * TSL object that represents the vertex bitangent in view space of the current rendered object. * * @tsl * @type {Node<vec4>} */ const bitangentView = exports.bitangentView = /*@__PURE__*/(0, _VaryingNode.varying)(getBitangent(_Normal.normalView.cross(_Tangent.tangentView)), 'v_bitangentView').normalize().toVar('bitangentView'); /** * TSL object that represents the vertex bitangent in world space of the current rendered object. * * @tsl * @type {Node<vec4>} */ const bitangentWorld = exports.bitangentWorld = /*@__PURE__*/(0, _VaryingNode.varying)(getBitangent(_Normal.normalWorld.cross(_Tangent.tangentWorld)), 'v_bitangentWorld').normalize().toVar('bitangentWorld'); /** * TSL object that represents the transformed vertex bitangent in view space of the current rendered object. * * @tsl * @type {Node<vec4>} */ const transformedBitangentView = exports.transformedBitangentView = /*@__PURE__*/getBitangent(_Normal.transformedNormalView.cross(_Tangent.transformedTangentView)).normalize().toVar('transformedBitangentView'); /** * TSL object that represents the transformed vertex bitangent in world space of the current rendered object. * * @tsl * @type {Node<vec4>} */ const transformedBitangentWorld = exports.transformedBitangentWorld = /*@__PURE__*/transformedBitangentView.transformDirection(_Camera.cameraViewMatrix).normalize().toVar('transformedBitangentWorld');