|
@@ -488,6 +488,7 @@ class ShaderCallNodeInternal extends Node {
|
|
|
//
|
|
//
|
|
|
|
|
|
|
|
const previousSubBuildFn = builder.subBuildFn;
|
|
const previousSubBuildFn = builder.subBuildFn;
|
|
|
|
|
+ const previousContext = builder.addContext( { fnCall: this } );
|
|
|
|
|
|
|
|
builder.subBuildFn = subBuild;
|
|
builder.subBuildFn = subBuild;
|
|
|
|
|
|
|
@@ -565,6 +566,7 @@ class ShaderCallNodeInternal extends Node {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
builder.subBuildFn = previousSubBuildFn;
|
|
builder.subBuildFn = previousSubBuildFn;
|
|
|
|
|
+ builder.setContext( previousContext );
|
|
|
|
|
|
|
|
if ( shaderNode.once ) {
|
|
if ( shaderNode.once ) {
|
|
|
|
|
|
|
@@ -608,6 +610,8 @@ class ShaderCallNodeInternal extends Node {
|
|
|
const subBuildOutput = builder.getSubBuildOutput( this );
|
|
const subBuildOutput = builder.getSubBuildOutput( this );
|
|
|
const outputNode = this.getOutputNode( builder );
|
|
const outputNode = this.getOutputNode( builder );
|
|
|
|
|
|
|
|
|
|
+ const previousContext = builder.addContext( { fnCall: this } );
|
|
|
|
|
+
|
|
|
if ( buildStage === 'setup' ) {
|
|
if ( buildStage === 'setup' ) {
|
|
|
|
|
|
|
|
const subBuildInitialized = builder.getSubBuildProperty( 'initialized', this );
|
|
const subBuildInitialized = builder.getSubBuildProperty( 'initialized', this );
|
|
@@ -655,6 +659,8 @@ class ShaderCallNodeInternal extends Node {
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ builder.setContext( previousContext );
|
|
|
|
|
+
|
|
|
return result;
|
|
return result;
|
|
|
|
|
|
|
|
}
|
|
}
|
|
@@ -788,9 +794,15 @@ class ShaderNodeInternal extends Node {
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ getLayout() {
|
|
|
|
|
+
|
|
|
|
|
+ return this.layout;
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
call( rawInputs = null ) {
|
|
call( rawInputs = null ) {
|
|
|
|
|
|
|
|
- return nodeObject( new ShaderCallNodeInternal( this, rawInputs ) );
|
|
|
|
|
|
|
+ return new ShaderCallNodeInternal( this, rawInputs );
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|