Bagikan melalui


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)

Instruksi Piksel Shader