NodeShaderStage
NodeShaderStage
为图形渲染管线的顶点(Vertex)和片元(Fragment)阶段提供标准化的、类型安全的常量引用。
核心优势
通过提供类型安全的常量(VERTEX 和 FRAGMENT)来替代易错的“魔法字符串”(如 'vertex'),从根本上杜绝拼写错误,增强代码可读性,并确保与 TSL 库未来更新的前向兼容性。
常见用途
在条件逻辑中判断当前着色器阶段 (cond)
隐式定义 Varying 变量的数据流向 (varying)
隐式指定 Attribute 属性的作用域 (attribute)
限制 TSL 函数仅在特定阶段编译和执行 (func)
如何调整
该节点本身是常量,无法调整。但选择 `NodeShaderStage.VERTEX` 还是 `NodeShaderStage.FRAGMENT` 来执行逻辑,是决定代码是“改变模型骨架(形状)”还是“为皮肤上色(表面)”的关键。在顶点阶段操作会改变模型的几何形态,而在片元阶段操作则会改变其逐像素的颜色或材质属性。
代码示例
1cond( stage.equals( NodeShaderStage.VERTEX ), () => {
2 // 只在顶点阶段执行的代码
3} )