defaultShaderStages
defaultShaderStages
一个在 CPU 端使用的配置常量数组,它指定一个 TSL 材质需要生成哪些着色器程序(如 'vertex', 'fragment', 'compute')。
核心优势
它为 TSL 统一的节点图定义了最终产物,并具备极佳的可扩展性。这使得 TSL 不仅能用于标准渲染(顶点+片元),还能通过切换到 'compute' 阶段,成为一个强大的通用 GPU 计算(GPGPU)工具。
常见用途
标准 3D 物体渲染 (默认使用 ['vertex', 'fragment'])。
创建计算着色器以实现 GPU 粒子系统或物理模拟 (使用 ['compute'])。
实现后处理效果(主要逻辑在 'fragment' 阶段)。
执行仅顶点操作的特殊计算(理论上可使用 ['vertex'])。
如何调整
调整该数组会从根本上改变 GPU 的工作性质。例如,从 `['vertex', 'fragment']` 切换到 `['compute']` 会将材质从一个可见的“画家”变成一个不可见的“计算器”,用于物理模拟等任务。若移除一个阶段(如 'vertex'),则所有与该阶段相关的效果(如顶点动画)都会失效。
代码示例
1// 创建一个只生成计算着色器的材质
2const computeMaterial = new ComputeNodeMaterial();
3computeMaterial.shaderStages = [ 'compute' ];