浏览代码

TSL: Fix `label()` usage in `uniform()` (#28548)

sunag 1 年之前
父节点
当前提交
0305d6358a
共有 1 个文件被更改,包括 10 次插入1 次删除
  1. 10 1
      examples/jsm/nodes/core/UniformNode.js

+ 10 - 1
examples/jsm/nodes/core/UniformNode.js

@@ -11,10 +11,19 @@ class UniformNode extends InputNode {
 
 		this.isUniformNode = true;
 
+		this.name = '';
 		this.groupNode = objectGroup;
 
 	}
 
+	label( name ) {
+
+		this.name = name;
+
+		return this;
+
+	}
+
 	setGroup( group ) {
 
 		this.groupNode = group;
@@ -73,7 +82,7 @@ class UniformNode extends InputNode {
 
 		const sharedNodeType = sharedNode.getInputType( builder );
 
-		const nodeUniform = builder.getUniformFromNode( sharedNode, sharedNodeType, builder.shaderStage, builder.context.label );
+		const nodeUniform = builder.getUniformFromNode( sharedNode, sharedNodeType, builder.shaderStage, this.name || builder.context.label );
 		const propertyName = builder.getPropertyName( nodeUniform );
 
 		if ( builder.context.label !== undefined ) delete builder.context.label;