three
Version:
JavaScript 3D library
46 lines (24 loc) • 743 B
JavaScript
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', BypassNode );