defaultBuildStages
defaultBuildStages
一个在 CPU 端使用的配置常量,它定义了 TSL 将节点网络转换为最终 GLSL 代码的有序构建阶段,本身不是一个着色器节点。
核心优势
核心价值在于为着色器代码生成提供了有序、可预测且可扩展的流程。这不仅避免了编译错误,还允许高级用户通过添加或重写构建阶段来深度定制 TSL 的行为。
常见用途
开发复杂自定义节点时,在不同阶段注入代码(如 'setup' 阶段声明变量,'generate' 阶段生成逻辑)。
通过添加自定义阶段,向构建流程中注入新的功能,如自定义优化通道。
在节点的各阶段方法中打印日志,以调试节点间的初始化和执行顺序。
如何调整
调整它不会产生平滑的视觉过渡,而是结构性的改变,通常表现为“正常工作”或“完全失效”。例如,颠倒阶段顺序会导致编译失败;而添加一个自定义阶段(如 'my-water-simulation')并由特定节点使用,则是开启或关闭某个复杂视觉效果(如动态水面)的关键。
代码示例
1// 创建一个包含自定义阶段的数组
2const myStages = [ 'setup', 'analyze', 'my-custom-pass', 'generate' ];
3
4// 在自定义 NodeBuilder 中使用它
5myBuilder.setBuildStages( myStages );