label
label
一个纯粹的开发者工具,它在最终生成的着色器代码(GLSL/WGSL)中,为你节点网络的计算结果赋予一个有意义的变量名,极大地提高了代码的可读性和可调试性。
核心优势
让机器生成的着色器代码变得人类可读。它将晦涩的自动变量名(如 `_nodeVar_5`)替换为开发者定义的清晰标签,从而在你的 TSL 逻辑和最终着色器代码之间建立直接联系,这对于高效调试、优化和学习至关重要。
常见用途
为复杂的计算结果命名,使其在 GLSL 代码中易于识别。
区分多个功能相似的节点,例如为不同的噪声函数分别打上 'largeWarpNoise' 和 'fineDetailNoise' 的标签。
为 Uniform 或 Attribute 提供清晰的用途说明,如 `uniform(0.5).label('metalness')`。
在团队协作中作为代码注释和沟通工具,提高代码的可维护性。
如何调整
此节点对最终渲染的画面没有任何视觉影响。它的唯一作用是改变生成的着色器代码。例如,不使用 label 可能会生成 `float _nodeVar_12 = ...;`,而使用 `.label('myValue')` 后,则会生成 `float myValue = ...;`,使代码更易于理解和调试。
代码示例
1const fresnelEffect = pow( dot( viewDirection, normalWorld ).add( 1 ), 5 ).label('fresnelFactor');