@openhps/core
Version:
Open Hybrid Positioning System - Core component
36 lines (32 loc) • 1.06 kB
JavaScript
import { cameraViewMatrix } from './Camera.js';
import { transformedNormalView } from './Normal.js';
import { positionViewDirection } from './Position.js';
import { materialRefractionRatio } from './MaterialProperties.js';
/**
* The reflect vector in view space.
*
* @tsl
* @type {Node<vec3>}
*/
export const reflectView = /*@__PURE__*/positionViewDirection.negate().reflect(transformedNormalView);
/**
* The refract vector in view space.
*
* @tsl
* @type {Node<vec3>}
*/
export const refractView = /*@__PURE__*/positionViewDirection.negate().refract(transformedNormalView, materialRefractionRatio);
/**
* Used for sampling cube maps when using cube reflection mapping.
*
* @tsl
* @type {Node<vec3>}
*/
export const reflectVector = /*@__PURE__*/reflectView.transformDirection(cameraViewMatrix).toVar('reflectVector');
/**
* Used for sampling cube maps when using cube refraction mapping.
*
* @tsl
* @type {Node<vec3>}
*/
export const refractVector = /*@__PURE__*/refractView.transformDirection(cameraViewMatrix).toVar('reflectVector');