ReflectVectorNode.js 507 B

123456789101112131415161718192021222324252627282930
  1. import Node from '../core/Node.js';
  2. import {
  3. transformedNormalView, positionViewDirection, cameraViewMatrix
  4. } from '../shadernode/ShaderNodeBaseElements.js';
  5. class ReflectVectorNode extends Node {
  6. constructor() {
  7. super( 'vec3' );
  8. }
  9. getHash( /*builder*/ ) {
  10. return 'reflectVector';
  11. }
  12. construct() {
  13. const reflectView = positionViewDirection.negate().reflect( transformedNormalView );
  14. return reflectView.transformDirection( cameraViewMatrix );
  15. }
  16. }
  17. export default ReflectVectorNode;