phase - ps
阶段指令标记阶段 1 和阶段 2 之间的转换。 如果没有阶段指令,则整个着色器将像第 2 阶段着色器一样运行。
此说明仅适用于版本 1_4。
语法
phase
备注
像素着色器版本 | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
phase | x |
阶段指令之前发生的着色器指令是阶段 1 指令。 所有其他指令都是阶段 2 指令。 通过对指令使用两个阶段,每个着色器的最大指令数将增加。
阶段转换的不幸副作用是 临时寄存器 的 alpha 分量在整个转换期间不会保留。 换句话说,必须在阶段指令之后重新初始化 alpha 分量。
示例
此示例演示如何在着色器中将指令分组为阶段 1 或阶段 2 指令。
阶段指令通常也称为阶段标记,因为它标记阶段 1 和阶段 2 指令之间的转换。 在版本 1_4 像素着色器中,如果阶段标记不存在,则着色器将像在阶段 2 中一样运行。 这一点很重要,因为阶段 1 和阶段 2 指令与注册可用性之间存在差异。 在整个参考部分中会记录这些差异。
ps_1_4
// Add phase 1 instructions here
phase
// Add phase 2 instructions here
相关主题