|
|
@@ -170,8 +170,18 @@ class VaryingNode extends Node {
|
|
|
const type = this.getNodeType( builder );
|
|
|
const propertyName = builder.getPropertyName( varying, NodeShaderStage.VERTEX );
|
|
|
|
|
|
- // force node run in vertex stage
|
|
|
- builder.flowNodeFromShaderStage( NodeShaderStage.VERTEX, properties.node, type, propertyName );
|
|
|
+ if ( builder.shaderStage === NodeShaderStage.VERTEX ) {
|
|
|
+
|
|
|
+ const snippet = properties.node.build( builder, type );
|
|
|
+
|
|
|
+ builder.addLineFlowCode( `${ propertyName } = ${ snippet }`, this );
|
|
|
+
|
|
|
+ } else {
|
|
|
+
|
|
|
+ // force node run in vertex stage
|
|
|
+ builder.flowNodeFromShaderStage( NodeShaderStage.VERTEX, properties.node, type, propertyName );
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
properties[ propertyKey ] = propertyName;
|
|
|
|