FogNode.js 602 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import Node, { addNodeClass } from '../core/Node.js';
  2. import { addNodeElement, nodeProxy } from '../shadernode/ShaderNode.js';
  3. class FogNode extends Node {
  4. constructor( colorNode, factorNode ) {
  5. super( 'float' );
  6. this.isFogNode = true;
  7. this.colorNode = colorNode;
  8. this.factorNode = factorNode;
  9. }
  10. mixAssign( outputNode ) {
  11. return this.mix( outputNode, this.colorNode );
  12. }
  13. generate( builder ) {
  14. return this.factorNode.build( builder, 'float' );
  15. }
  16. }
  17. export default FogNode;
  18. export const fog = nodeProxy( FogNode );
  19. addNodeElement( 'fog', fog );
  20. addNodeClass( FogNode );