FogExp2Node.js 756 B

1234567891011121314151617181920212223242526272829303132333435
  1. import FogNode from './FogNode.js';
  2. import { positionView } from '../accessors/PositionNode.js';
  3. import { addNodeClass } from '../core/Node.js';
  4. import { addNodeElement, nodeProxy } from '../shadernode/ShaderNode.js';
  5. class FogExp2Node extends FogNode {
  6. constructor( colorNode, densityNode ) {
  7. super( colorNode );
  8. this.isFogExp2Node = true;
  9. this.densityNode = densityNode;
  10. }
  11. construct() {
  12. const depthNode = positionView.z.negate();
  13. const densityNode = this.densityNode;
  14. this.factorNode = densityNode.mul( densityNode, depthNode, depthNode ).negate().exp().oneMinus();
  15. }
  16. }
  17. export default FogExp2Node;
  18. export const densityFog = nodeProxy( FogExp2Node );
  19. addNodeElement( 'densityFog', densityFog );
  20. addNodeClass( FogExp2Node );