12345678910111213141516171819202122232425262728 |
- 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();
- export const Return = () => expression( 'return' ).append();
- addNodeElement( 'discard', discard ); // @TODO: Check... this cause a little confusing using in chaining
- addNodeClass( 'DiscardNode', DiscardNode );
|