gather4 (sm5 - asm)
Mengumpulkan empat texel yang akan digunakan dalam operasi pemfilteran dua linier dan mengemasnya ke dalam satu register. Instruksi ini hanya berfungsi dengan tekstur 2D atau CubeMap, termasuk array. Hanya mode pengalamatan sampler yang digunakan dan tingkat atas piramida mip apa pun yang digunakan.
gather4[_aoffimmi(u,v)] dest[.mask], srcAddress[.swizzle], srcResource[.swizzle], srcSampler[.select_component] |
---|
Item | Deskripsi |
---|---|
Dest |
[in] Alamat hasil operasi. |
srcAddress |
[in] Satu set koordinat tekstur. |
srcResource |
[in] Daftar tekstur. |
srcSampler |
[in] Register sampler. |
Keterangan
Instruksi ini bersifat seperti instruksi sampel , tetapi sampel yang difilter tidak dihasilkan. Empat sampel yang akan berkontribusi pada pemfilteran ditempatkan ke dalam xyzw dalam urutan searah jarum jam yang dimulai dengan sampel di kiri bawah lokasi yang dikueri. Ini sama dengan pengambilan sampel titik dengan delta koordinat tekstur (u,v) di lokasi berikut: (-,+),(+,+),(+,-),(-,-), di mana besarnya delta selalu setengah texel.
Untuk tekstur CubeMap, ketika jejak dua linier membentang tepi, texel dari wajah tetangga digunakan. Sudut menggunakan aturan yang sama dengan instruksi sampel ; artinya, sudut yang tidak diketahui dianggap rata-rata dari tiga sudut wajah yang menghambat.
Ada pembatasan format tekstur yang berlaku untuk pengumpulan4 yang dinyatakan dalam daftar format.
Moncong di srcResource memungkinkan nilai yang dikembalikan untuk digeser sekejap sebelum ditulis ke tujuan.
.select_component pada srcSampler memilih komponen tekstur sumber mana (r/g/b/a) untuk membaca 4 texel.
Untuk format dengan komponen float32, jika nilai yang diambil dinormalisasi, didenormalisasi, +-0 atau +-INF, nilai dikembalikan ke shader yang tidak diubah. NaN dikembalikan sebagai NaN, tetapi representasi bit nan yang tepat dapat diubah. Untuk TextureCubes, beberapa sintesis texel ke-4 yang hilang harus terjadi di sudut-sudut, sehingga bit yang dikembalikan tidak berubah untuk texel yang disintesis tidak berlaku, dan denorm dapat dibersihkan.
Untuk implementasi perangkat keras, pengoptimalan dalam pemfilteran bilinear tradisional yang mendeteksi sampel langsung pada texel dan melewati pembacaan texel yang akan memiliki berat 0 tidak dapat dimanfaatkan dengan instruksi ini. gather4 selalu mengembalikan semua texel yang diminta.
Instruksi ini berlaku untuk tahap shader berikut:
Puncak | Hull | Domain | Geometri | Pixel | Compute |
---|---|---|---|---|---|
X | X | X | X | X | X |
Minimum Shader Model
Instruksi ini didukung dalam model shader berikut:
Shader Model | Didukung |
---|---|
Model Shader 5 | ya |
Model Shader 4.1 | tidak |
Model Shader 4 | tidak |
Shader Model 3 (DirectX HLSL) | tidak |
Shader Model 2 (DirectX HLSL) | tidak |
Shader Model 1 (DirectX HLSL) | tidak |
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