texdepth - ps

Berechnen Sie die Tiefenwerte, die im Tiefenpuffervergleichstest für dieses Pixel verwendet werden sollen.

Syntax

texdepth dst

where

  • dst ist das Zielregister.

Hinweise

Pixelshaderversionen 1_1 1_2 1 _ 3 1_4 2 _ 0 2 _ x 2 _ sw 3 _ 0 3 _ sw
texdepth w

Diese Anweisung verwendet r5.r/r5.g im Tiefenpuffervergleichstest für dieses Pixel. Die Daten im blauen und Alphakanal werden ignoriert. Wenn r5.g = 0 ist, ist das Ergebnis von r5.r / r5.g = 1,0.

Das temporäre Register r5 ist das einzige Register, das von dieser Anweisung verwendet werden kann.

Nach dem Ausführen dieser Anweisung ist das temporäre Register r5 für die zusätzliche Verwendung im Shader nicht verfügbar.

Beim Multisampling entfällt durch die Verwendung dieser Anweisung der größte Teil des Vorteils des Tiefenpuffers mit höherer Auflösung. Da der Pixelshader einmal pro Pixel ausgeführt wird, wird der einzelne Tiefenwert, der von texm3x2depth - ps oder texdepth ausgegeben wird, für jeden der Subpixel-Tiefenvergleichstests verwendet.

Beispiele

Hier ist ein Beispiel für die Verwendung von 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

Pixelshaderanweisungen