最新代码
This commit is contained in:
48
public/sdk/three/jsm/nodes/fog/FogNode.js
Normal file
48
public/sdk/three/jsm/nodes/fog/FogNode.js
Normal file
@ -0,0 +1,48 @@
|
||||
import Node, { addNodeClass } from '../core/Node.js';
|
||||
import { positionView } from '../accessors/PositionNode.js';
|
||||
import { addNodeElement, nodeProxy } from '../shadernode/ShaderNode.js';
|
||||
|
||||
class FogNode extends Node {
|
||||
|
||||
constructor( colorNode, factorNode ) {
|
||||
|
||||
super( 'float' );
|
||||
|
||||
this.isFogNode = true;
|
||||
|
||||
this.colorNode = colorNode;
|
||||
this.factorNode = factorNode;
|
||||
|
||||
}
|
||||
|
||||
getViewZNode( builder ) {
|
||||
|
||||
let viewZ;
|
||||
|
||||
const getViewZ = builder.context.getViewZ;
|
||||
|
||||
if ( getViewZ !== undefined ) {
|
||||
|
||||
viewZ = getViewZ( this );
|
||||
|
||||
}
|
||||
|
||||
return ( viewZ || positionView.z ).negate();
|
||||
|
||||
}
|
||||
|
||||
setup() {
|
||||
|
||||
return this.factorNode;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default FogNode;
|
||||
|
||||
export const fog = nodeProxy( FogNode );
|
||||
|
||||
addNodeElement( 'fog', fog );
|
||||
|
||||
addNodeClass( 'FogNode', FogNode );
|
Reference in New Issue
Block a user