node-ejs-renderer/node_modules/three/examples/jsm/nodes/fog/FogExp2Node.js

35 lines
685 B
JavaScript
Raw Permalink Normal View History

2024-06-09 13:55:01 -04:00
import FogNode from './FogNode.js';
import { addNodeClass } from '../core/Node.js';
import { addNodeElement, nodeProxy } from '../shadernode/ShaderNode.js';
class FogExp2Node extends FogNode {
constructor( colorNode, densityNode ) {
super( colorNode );
this.isFogExp2Node = true;
this.densityNode = densityNode;
}
setup( builder ) {
const viewZ = this.getViewZNode( builder );
const density = this.densityNode;
return density.mul( density, viewZ, viewZ ).negate().exp().oneMinus();
}
}
export default FogExp2Node;
export const densityFog = nodeProxy( FogExp2Node );
addNodeElement( 'densityFog', densityFog );
addNodeClass( 'FogExp2Node', FogExp2Node );