Condividi tramite


texm3x3 - ps

Esegue una moltiplicazione di matrice 3x3 se usata in combinazione con due texm3x3pad - istruzioni ps .

Sintassi

texm3x3 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
texm3x3 x x

 

Questa istruzione è uguale all'istruzione texm3x3tex - ps , senza la ricerca della trama.

Questa istruzione viene usata come ultima di tre istruzioni che rappresentano un'operazione di moltiplicazione di matrice 3x3. La matrice 3x3 è costituita dalle coordinate della trama della terza fase della trama e dalle due fasi precedenti della trama. Qualsiasi trama assegnata a una delle tre fasi della trama viene ignorata.

Questa istruzione deve essere usata con due istruzioni texm3x3pad. I registri delle trame devono seguire la sequenza seguente.

 
tex t(n)                 // Define tn as a standard 3-vector (tn must
                         // be defined in some way before it is used)
texm3x3pad t(m),   t(n)  // where m > n
                         // Perform first row of matrix multiply
texm3x3pad t(m+1), t(n)  // Perform second row of matrix multiply
texm3x3    t(m+2), t(n)  // Perform third row of matrix multiply to get a
                         // 3-vector result

Ecco altri dettagli su come viene eseguita la moltiplicazione 3x3.

La prima istruzione texm3x3pad esegue la prima riga della moltiplicazione per trovare u'.

u' = TextureCoordinates(stage m)UVW * t(n)RGB

La seconda istruzione texm3x3pad esegue la seconda riga della moltiplicazione per trovare v'.

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

L'istruzione texm3x3tex esegue la terza riga della moltiplicazione per trovare w'.

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

Posizionare il risultato della matrice moltiplicato nel registro di destinazione.

t(m+2)RGBA = (u' , v' , w' , 1)

Istruzioni per pixel shader