texm3x2depth - ps

Calcolare il valore di profondità da usare per questo pixel.

Sintassi

texm3x2depth dst, src

 

dove

  • dst è il registro di destinazione.
  • src è un registro di origine.

Commenti

Versioni del pixel shader 1_1 1_2 1_3 1_4 2_0 2_x 2_sw 3_0 3_sw
texm3x2depth x

 

Questa istruzione deve essere usata con l'istruzione texm3x2pad - ps .

Quando si usano queste due istruzioni, i registri delle trame devono usare la sequenza seguente.

 
tex t(n)                     // Define tn as a standard 3-vector.(tn must be 
                             // defined in some way before it is used
texm3x2pad   t(m),   t(n)    // Where m > n
                             // Calculate z value
texm3x2depth t(m+1), t(n)    // Calculate w value; use both z and w to
                             // find depth

Il calcolo della profondità viene eseguito dopo aver usato un'operazione punto prodotto per trovare z e w. Ecco altri dettagli su come viene eseguito il calcolo della profondità.

L'istruzione texm3x2pad calcola z.

z = TextureCoordinates(stage m)UVW * t(n)RGB

L'istruzione texm3x2depth calcola w.

w = TextureCoordinates(stage m+1)UVW * t(n)RGB

Calcolare la profondità e archiviare il risultato in t(m+1).

 
if (w == 0)
  t(m+1) = 1.0
else
  t(m+1) = z/w

La profondità calcolata viene contrassegnata per essere usata nel test di profondità per il pixel, sostituendo il valore del test di profondità esistente per il pixel.

Assicurarsi di bloccare z/w per essere compreso nell'intervallo di (0-1). Se z/w non è compreso in questo intervallo, il risultato archiviato nel buffer di profondità non sarà definito.

Dopo l'esecuzione di texm3x2depth, register t(m+1) non è più disponibile per l'uso nello shader.

Quando si esegue il multicampionamento, l'uso di questa istruzione elimina la maggior parte dei vantaggi del buffer di profondità di risoluzione superiore. Poiché il pixel shader viene eseguito una volta per pixel, il valore di profondità singolo restituito da texm3x2depth o texdepth - ps verrà usato per ogni test di confronto della profondità del subpixel.

Istruzioni per pixel shader