3D-Demo/jsm/nodes/fog/FogRangeNode.js

28 lines
527 B
JavaScript
Raw Normal View History

2022-10-14 16:50:42 +08:00
import FogNode from './FogNode.js';
import { smoothstep, negate, positionView } from '../shadernode/ShaderNodeElements.js';
class FogRangeNode extends FogNode {
constructor( colorNode, nearNode, farNode ) {
super( colorNode );
this.nearNode = nearNode;
this.farNode = farNode;
}
generate( builder ) {
this.factorNode = smoothstep( this.nearNode, this.farNode, negate( positionView.z ) );
return super.generate( builder );
}
}
FogRangeNode.prototype.isFogRangeNode = true;
export default FogRangeNode;