node-ejs-renderer/node_modules/three/examples/jsm/nodes/utils/DiscardNode.js
2024-06-09 13:55:01 -04:00

28 lines
739 B
JavaScript

import CondNode from '../math/CondNode.js';
import { expression } from '../code/ExpressionNode.js';
import { addNodeClass } from '../core/Node.js';
import { addNodeElement, nodeProxy } from '../shadernode/ShaderNode.js';
let discardExpression;
class DiscardNode extends CondNode {
constructor( condNode ) {
discardExpression = discardExpression || expression( 'discard' );
super( condNode, discardExpression );
}
}
export default DiscardNode;
export const inlineDiscard = nodeProxy( DiscardNode );
export const discard = ( condNode ) => inlineDiscard( condNode ).append();
addNodeElement( 'discard', discard ); // @TODO: Check... this cause a little confusing using in chaining
addNodeClass( 'DiscardNode', DiscardNode );