1234567891011121314151617181920212223242526272829303132 |
- import TempNode from '../core/Node.js';
- import VarNode from '../core/VarNode.js';
- import ConstNode from '../core/UniformNode.js';
- import OperatorNode from '../math/OperatorNode.js';
- import { Vector3 } from 'three';
- class ReflectedLightNode extends TempNode {
- constructor() {
- super( 'vec3' );
- this.directDiffuse = new VarNode( new ConstNode( new Vector3() ), 'DirectDiffuse' );
- this.directSpecular = new VarNode( new ConstNode( new Vector3() ), 'DirectSpecular' );
- this.indirectDiffuse = new VarNode( new ConstNode( new Vector3() ), 'IndirectDiffuse' );
- this.indirectSpecular = new VarNode( new ConstNode( new Vector3() ), 'IndirectSpecular' );
- }
- generate( builder ) {
- const { directDiffuse, directSpecular, indirectDiffuse, indirectSpecular } = this;
- const totalLight = new OperatorNode( '+', directDiffuse, directSpecular, indirectDiffuse, indirectSpecular );
- return totalLight.build( builder );
- }
- }
- export default ReflectedLightNode;
|