texm3x3 – ps
Führt eine 3x3-Matrix multiplizieren aus, wenn sie in Verbindung mit zwei texm3x3pad - ps-Anweisungen verwendet wird.
Syntax
texm3x3 dst, src |
---|
where
- dst ist das Zielregister.
- src ist ein Quellregister.
Bemerkungen
Pixelshaderversionen | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
texm3x3 | x | x |
Diese Anweisung entspricht der Anweisung texm3x3tex – ps , ohne die Textursuche.
Diese Anweisung wird als letzte von drei Anweisungen verwendet, die einen 3x3-Matrixmultiplikationsvorgang darstellen. Die 3x3-Matrix besteht aus den Texturkoordinaten der dritten Texturstufe und den beiden vorangehenden Texturstufen. Jede Textur, die einer der drei Texturphasen zugewiesen ist, wird ignoriert.
Diese Anweisung muss mit zwei texm3x3pad-Anweisungen verwendet werden. Texturregister müssen der folgenden Sequenz folgen.
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
Hier finden Sie weitere Details dazu, wie die 3x3-Multiplikation erreicht wird.
Die erste texm3x3pad-Anweisung führt die erste Zeile der Multiplikation durch, um u' zu finden.
u' = TextureCoordinates(stage m)UVW * t(n)RGB
Die zweite texm3x3pad-Anweisung führt die zweite Zeile der Multiplikation aus, um v' zu finden.
v' = TextureCoordinates(stage m+1)UVW * t(n)RGB
Die texm3x3tex-Anweisung führt die dritte Zeile der Multiplikation durch, um w' zu finden.
w' = TextureCoordinates(stage m+2)UVW * t(n)RGB
Platzieren Sie das Ergebnis der Matrix multiplizieren im Zielregister.
t(m+2)RGBA = (u' , v' , w' , 1)
Zugehörige Themen