Cesium-Examples/three/examples/jsm/nodes/core/BypassNode.js

46 lines
729 B
JavaScript
Raw Normal View History

2025-03-11 08:25:45 +00:00
import Node, { addNodeClass } from './Node.js';
import { addNodeElement, nodeProxy } from '../shadernode/ShaderNode.js';
class BypassNode extends Node {
constructor( returnNode, callNode ) {
super();
this.isBypassNode = true;
this.outputNode = returnNode;
this.callNode = callNode;
}
getNodeType( builder ) {
return this.outputNode.getNodeType( builder );
}
generate( builder ) {
const snippet = this.callNode.build( builder, 'void' );
if ( snippet !== '' ) {
builder.addLineFlowCode( snippet );
}
return this.outputNode.build( builder );
}
}
export default BypassNode;
export const bypass = nodeProxy( BypassNode );
addNodeElement( 'bypass', bypass );
addNodeClass( BypassNode );