texm3x3 - ps
Effectue une multiplication de matrice 3x3 lorsqu’elle est utilisée conjointement avec deux instructions texm3x3pad - ps .
Syntaxe
texm3x3 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 |
---|---|---|---|---|---|---|---|---|---|
texm3x3 | x | x |
Cette instruction est identique à l’instruction texm3x3tex - ps , sans la recherche de texture.
Cette instruction est utilisée comme la finale de trois instructions représentant une opération de multiplication de matrice 3x3. La matrice 3x3 est composée des coordonnées de texture de la troisième étape de texture et des deux étapes de texture précédentes. Toute texture affectée à l’une des trois étapes de texture est ignorée.
Cette instruction doit être utilisée avec deux instructions texm3x3pad. Les registres de texture doivent suivre 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)
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
Voici plus de détails sur la façon dont la multiplication 3x3 est effectuée.
La première instruction texm3x3pad exécute la première ligne de la multiplication pour trouver u'.
u' = TextureCoordinates(stage m)UVW * t(n)RGB
La deuxième instruction texm3x3pad exécute la deuxième ligne de la multiplication pour rechercher v'.
v' = TextureCoordinates(stage m+1)UVW * t(n)RGB
L’instruction texm3x3tex exécute la troisième ligne de la multiplication pour rechercher w'.
w' = TextureCoordinates(stage m+2)UVW * t(n)RGB
Placez le résultat de la matrice multiplier dans le registre de destination.
t(m+2)RGBA = (u' , v' , w' , 1)
Rubriques connexes