texm3x2depth - ps

Calcule o valor de profundidade a ser usado em testes detalhados para este pixel.

Sintaxe

texm3x2depth dst, src

 

onde

  • dst é o registro de destino.
  • src é um registro de origem.

Comentários

Versões do sombreador de pixel 1_1 1_2 1_3 1_4 2_0 2_x 2_sw 3_0 3_sw
texm3x2depth x

 

Esta instrução deve ser usada com a instrução texm3x2pad – ps .

Ao usar essas duas instruções, os registros de textura devem usar a sequência a seguir.

 
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

O cálculo de profundidade é feito depois de usar uma operação de produto de ponto para localizar z e w. Veja mais detalhes sobre como o cálculo de profundidade é realizado.

A instrução texm3x2pad calcula z.

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

A instrução texm3x2depth calcula w.

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

Calcule a profundidade e armazene o resultado em t(m+1).

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

A profundidade calculada é marcada para ser usada no teste de profundidade do pixel, substituindo o valor de teste de profundidade existente para o pixel.

Certifique-se de fixar z/w para estar no intervalo de (0-1). Se z/w estiver fora desse intervalo, o resultado armazenado no buffer de profundidade será indefinido.

Depois de executar texm3x2depth, register t(m+1) não está mais disponível para uso no sombreador.

Quando o multisampling, usar essa instrução elimina a maior parte do benefício do buffer de profundidade de resolução mais alta. Como o sombreador de pixel é executado uma vez por pixel, a saída de valor de profundidade única por texm3x2depth ou texdepth – ps será usada para cada um dos testes de comparação de profundidade de subpixel.

Instruções de sombreador de pixel