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

像素着色器说明