Bagikan melalui


texm3x2tex - ps

Melakukan baris akhir perkalian matriks 3x2 dan menggunakan hasilnya untuk melakukan pencarian tekstur. texm3x2tex harus digunakan bersama dengan instruksi texm3x2pad - ps .

Sintaks

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

 

Instruksi digunakan sebagai salah satu dari dua instruksi yang mewakili operasi perkalian 3x2 matriks. Instruksi ini harus digunakan dengan instruksi texm3x2pad - ps .

Saat menggunakan dua instruksi ini, register tekstur harus menggunakan urutan berikut.

 
tex t(n)                      // Define tn as a standard 3-vector (tn must 
                              // be defined in some way before it is used)
texm3x2pad  t(m),   t(n)      // where m > n
                              // Perform first row of matrix multiply
texm3x2tex  t(m+1), t(n)      // Perform second row of matrix multiply 
                              // to get (u,v) to sample texture 
                              // associated with stage m+1

Berikut adalah detail selengkapnya tentang bagaimana perkalian 3x2 dicapai.

Instruksi texm3x2pad melakukan baris pertama perkalian untuk menemukan u'.

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

Instruksi texm3x2tex melakukan baris kedua dari perkalian untuk menemukan v'.

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

Instruksi texm3x2tex mengambil sampel tekstur di atas panggung (m+1) dengan (u',v') dan menyimpan hasilnya dalam t(m+1).

t(m+1)RGB = TextureSample(stage m+1)RGB menggunakan (u', v' ) sebagai koordinat

Contoh

Berikut adalah contoh shader dengan peta tekstur dan tahap tekstur yang diidentifikasi.

ps_1_1
tex t0                // Bind texture in stage 0 to register t0
texm3x2pad  t1,  t0   // First row of matrix multiply
texm3x2tex  t2,  t0   // Second row of matrix multiply to get (u,v)
                      // with which to sample texture in stage 2
mov r0, t2            // Output result

Contoh ini memerlukan tekstur berikut dalam tahap tekstur berikut.

  • Tahap 0 mengambil peta dengan data perturbasi (x,y,z).
  • Tahap 1 menyimpan koordinat tekstur. Tekstur tidak diperlukan dalam tahap tekstur.
  • Tahap 2 memegang koordinat tekstur serta set tekstur 2D pada tahap tekstur tersebut.

Instruksi Pixel Shader