FogExp2Node.js 546 B

123456789101112131415161718192021222324252627
  1. import FogNode from './FogNode.js';
  2. import { sub, exp, mul, negate, positionView } from '../shadernode/ShaderNodeBaseElements.js';
  3. class FogExp2Node extends FogNode {
  4. constructor( colorNode, densityNode ) {
  5. super( colorNode );
  6. this.isFogExp2Node = true;
  7. this.densityNode = densityNode;
  8. }
  9. construct() {
  10. const depthNode = negate( positionView.z );
  11. const densityNode = this.densityNode;
  12. this.factorNode = sub( 1.0, exp( mul( negate( densityNode ), densityNode, depthNode, depthNode ) ) );
  13. }
  14. }
  15. export default FogExp2Node;