texm3x3 - ps
Melakukan perkalian matriks 3x3 saat digunakan bersama dengan dua instruksi texm3x3pad - ps .
Sintaks
texm3x3 dst, src |
---|
Di mana
- dst adalah register tujuan.
- src adalah register sumber.
Keterangan
Versi shader piksel | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
texm3x3 | x | x |
Instruksi ini sama dengan instruksi texm3x3tex - ps , tanpa pencarian tekstur.
Instruksi ini digunakan sebagai akhir dari tiga instruksi yang mewakili operasi kalikan matriks 3x3. Matriks 3x3 terdiri dari koordinat tekstur tahap tekstur ketiga, dan oleh dua tahap tekstur sebelumnya. Tekstur apa pun yang ditetapkan ke salah satu dari tiga tahap tekstur diabaikan.
Instruksi ini harus digunakan dengan dua instruksi texm3x3pad. Register tekstur harus mengikuti urutan berikut.
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
Berikut adalah detail selengkapnya tentang bagaimana perkalian 3x3 dicapai.
Instruksi texm3x3pad pertama melakukan baris pertama perkalian untuk menemukan u'.
u' = TextureCoordinates(stage m)UVW * t(n)RGB
Instruksi texm3x3pad kedua melakukan baris kedua dari perkalian untuk menemukan v'.
v' = TextureCoordinates(stage m+1)UVW * t(n)RGB
Instruksi texm3x3tex melakukan baris ketiga dari perkalian untuk menemukan w'.
w' = TextureCoordinates(stage m+2)UVW * t(n)RGB
Tempatkan hasil perkalian matriks di register tujuan.
t(m+2)RGBA = (u' , v' , w' , 1)
Topik terkait