texdepth - ps
计算要用于此像素的深度缓冲区比较测试的深度值。
语法
texdepth dst |
---|
其中
- dst 是目标寄存器。
备注
像素着色器版本 | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
texdepth | x |
此指令在此像素的深度缓冲区比较测试中使用 r5.r/r5.g。 蓝色通道和 alpha 通道中的数据将被忽略。 如果 r5.g = 0,则 r5.r / r5.g 的结果 = 1.0。
临时寄存器 r5 是此指令可以使用的唯一寄存器。
执行此指令后,临时寄存器 r5 在着色器中不可用。
多重采样时,使用此指令将消除更高分辨率深度缓冲区的大部分好处。 由于像素着色器每个像素运行一次,因此 texm3x2depth - ps 或 texdepth 输出的单深度值将用于每个子像素深度比较测试。
示例
下面是使用 texdepth 的示例。
ps_1_4
texld r0, t0 // Sample texture from texture stage 0 (dest
// register number) into r0
// Use texture coordinate data from t0
texcrd r1.rgb, t1 // Load a second set of texture coordinate data into r1
add r5.rg, r0, r1 // Add the two sets of texture coordinate data
phase // Phase marker, required when using texdepth instruction
texdepth r5 // Calculate pixel depth as r5.r / r5.g
// Do other color calculations with shader output r0
相关主题