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.
Topik terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk