Bagikan melalui


texm3x2depth - ps

Hitung nilai kedalaman yang akan digunakan dalam pengujian mendalam untuk piksel ini.

Sintaks

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

 

Instruksi ini harus digunakan dengan instruksi texm3x2pad - ps .

Saat menggunakan kedua instruksi ini, pendaftaran 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
                             // Calculate z value
texm3x2depth t(m+1), t(n)    // Calculate w value; use both z and w to
                             // find depth

Perhitungan kedalaman dilakukan setelah menggunakan operasi produk titik untuk menemukan z dan w. Berikut adalah detail selengkapnya tentang bagaimana perhitungan kedalaman dicapai.

Instruksi texm3x2pad menghitung z.

z = TextureCoordinates(stage m)UVW * t(n)RGB

Instruksi texm3x2depth menghitung w.

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

Hitung kedalaman dan simpan hasilnya dalam t(m+1).

 
if (w == 0)
  t(m+1) = 1.0
else
  t(m+1) = z/w

Kedalaman terhitung ditandai untuk digunakan dalam pengujian kedalaman untuk piksel, menggantikan nilai pengujian kedalaman yang ada untuk piksel.

Pastikan untuk menjepit z/w agar berada di kisaran (0-1). Jika z/w berada di luar rentang ini, hasil yang disimpan dalam buffer kedalaman tidak akan terdefinisi.

Setelah menjalankan texm3x2depth, daftarkan t(m+1) tidak lagi tersedia untuk digunakan di shader.

Saat multisampling, menggunakan instruksi ini menghilangkan sebagian besar manfaat dari buffer kedalaman resolusi yang lebih tinggi. Karena shader piksel berjalan sekali per piksel, output nilai kedalaman tunggal oleh texm3x2depth atau texdepth - ps akan digunakan untuk setiap pengujian perbandingan kedalaman subpiksel.

Instruksi Piksel Shader