FogRangeNode.js 711 B

1234567891011121314151617181920212223242526272829303132333435
  1. import FogNode from './FogNode.js';
  2. import { smoothstep } from '../math/MathNode.js';
  3. import { addNodeClass } from '../core/Node.js';
  4. import { addNodeElement, nodeProxy } from '../shadernode/ShaderNode.js';
  5. class FogRangeNode extends FogNode {
  6. constructor( colorNode, nearNode, farNode ) {
  7. super( colorNode );
  8. this.isFogRangeNode = true;
  9. this.nearNode = nearNode;
  10. this.farNode = farNode;
  11. }
  12. setup( builder ) {
  13. const viewZ = this.getViewZNode( builder );
  14. return smoothstep( this.nearNode, this.farNode, viewZ );
  15. }
  16. }
  17. export default FogRangeNode;
  18. export const rangeFog = nodeProxy( FogRangeNode );
  19. addNodeElement( 'rangeFog', rangeFog );
  20. addNodeClass( 'FogRangeNode', FogRangeNode );