Partager via


texm3x2depth - ps

Calculez la valeur de profondeur à utiliser dans le test en profondeur pour ce pixel.

Syntaxe

texm3x2depth dst, src

 

where

  • dst est le registre de destination.
  • src est un registre source.

Notes

Versions du nuanceur de pixels 1_1 1_2 1_3 1_4 2_0 2_x 2_sw 3_0 3_sw
texm3x2depth x

 

Cette instruction doit être utilisée avec l’instruction texm3x2pad - ps .

Lorsque vous utilisez ces deux instructions, les registres de texture doivent utiliser la séquence suivante.

 
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

Le calcul de profondeur est effectué après l’utilisation d’une opération de produit point pour rechercher z et w. Voici plus de détails sur la façon dont le calcul de profondeur est effectué.

L’instruction texm3x2pad calcule z.

z = TextureCoordinates(étape m)UVW * t(n)RVB

L’instruction texm3x2depth calcule w.

w = TextureCoordinates(étape m+1)UVW * t(n)RVB

Calculez la profondeur et stockez le résultat en t(m+1).

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

La profondeur calculée est étiquetée pour être utilisée dans le test de profondeur du pixel, en remplaçant la valeur de test de profondeur existante pour le pixel.

Veillez à serrer z/w pour qu’il se trouve dans la plage de (0-1). Si z/w est en dehors de cette plage, le résultat stocké dans la mémoire tampon de profondeur n’est pas défini.

Après avoir exécuté texm3x2depth, l’inscription t(m+1) n’est plus disponible pour une utilisation dans le nuanceur.

En cas de multi-échantillonnage, l’utilisation de cette instruction élimine la plupart des avantages de la mémoire tampon de profondeur de résolution supérieure. Étant donné que le nuanceur de pixels s’exécute une fois par pixel, la valeur de profondeur unique sortie par texm3x2depth ou texdepth - ps sera utilisée pour chacun des tests de comparaison de profondeur de sous-pixel.

Instructions du nuanceur de pixels