three
Version:
JavaScript 3D library
32 lines (18 loc) • 548 B
JavaScript
import Node from '../core/Node.js';
import {
transformedNormalView, positionViewDirection,
transformDirection, negate, reflect, cameraViewMatrix
} from '../shadernode/ShaderNodeBaseElements.js';
class ReflectVectorNode extends Node {
constructor() {
super( 'vec3' );
}
getHash( /*builder*/ ) {
return 'reflectVector';
}
construct() {
const reflectView = reflect( negate( positionViewDirection ), transformedNormalView );
return transformDirection( reflectView, cameraViewMatrix );
}
}
export default ReflectVectorNode;