texm3x2tex - ps
Executa a linha final de uma matriz 3x2 multiplicada e usa o resultado para fazer uma pesquisa de textura. texm3x2tex deve ser usado em conjunto com a instrução texm3x2pad – ps .
Sintaxe
texm3x2tex 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 |
---|---|---|---|---|---|---|---|---|---|
texm3x2tex | x | x | x |
A instrução é usada como uma das duas instruções que representam uma operação de multiplicação de matriz 3x2. 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
// Perform first row of matrix multiply
texm3x2tex t(m+1), t(n) // Perform second row of matrix multiply
// to get (u,v) to sample texture
// associated with stage m+1
Veja mais detalhes sobre como a multiplicação 3x2 é realizada.
A instrução texm3x2pad executa a primeira linha da multiplicação para localizar u'.
u' = t(n)RGB * TextureCoordinates(stage m)UVW
A instrução texm3x2tex executa a segunda linha da multiplicação para localizar v'.
v' = t(n)RGB * TextureCoordinates(stage m+1)UVW
A instrução texm3x2tex amostra a textura no estágio (m+1) com (u',v') e armazena o resultado em t(m+1).
t(m+1)RGB = TextureSample(stage m+1)RGB usando (u', v' ) como coordenadas
Exemplos
Aqui está um sombreador de exemplo com os mapas de textura e os estágios de textura identificados.
ps_1_1
tex t0 // Bind texture in stage 0 to register t0
texm3x2pad t1, t0 // First row of matrix multiply
texm3x2tex t2, t0 // Second row of matrix multiply to get (u,v)
// with which to sample texture in stage 2
mov r0, t2 // Output result
Este exemplo requer as texturas a seguir nos estágios de textura a seguir.
- A fase 0 usa um mapa com dados de perturbação (x,y,z).
- Estágio 1 contém coordenadas de textura. Nenhuma textura é necessária no estágio de textura.
- A fase 2 contém ambas as coordenadas de textura, bem como um conjunto de textura 2D nesse estágio de textura.
Tópicos relacionados