Fungsi TraceRay
Mengirim sinar ke dalam pencarian hit dalam struktur akselerasi.
Sintaks
Definisi fungsi intrinsik ini setara dengan templat fungsi berikut:
Template<payload_t>
void TraceRay(RaytracingAccelerationStructure AccelerationStructure,
uint RayFlags,
uint InstanceInclusionMask,
uint RayContributionToHitGroupIndex,
uint MultiplierForGeometryContributionToHitGroupIndex,
uint MissShaderIndex,
RayDesc Ray,
inout payload_t Payload);
Parameter
AccelerationStructure
Struktur akselerasi tingkat atas untuk digunakan. Menentukan struktur akselerasi NULL memaksa kesalahan.
RayFlags
Kombinasi nilai ray_flag yang valid. Hanya bendera sinar yang didefinisikan yang disebarkan oleh sistem, yaitu terlihat oleh intrinsik shader RayFlags .
InstanceInclusionMask
Bilangan bulat yang tidak ditandatangani, 8 bit terbawah yang digunakan untuk menyertakan atau menolak instans geometri berdasarkan InstanceMask di setiap instans. Contohnya:
if(!((InstanceInclusionMask & InstanceMask) & 0xff)) { //ignore intersection }
RayContributionToHitGroupIndex
Bilangan bulat yang tidak ditandatangani yang menentukan offset untuk ditambahkan ke dalam perhitungan alamat dalam tabel shader untuk pengindeksan grup hit. Hanya 4 bit bawah dari nilai ini yang digunakan.
MultiplierForGeometryContributionToHitGroupIndex
Bilangan bulat yang tidak ditandatangani yang menentukan langkah untuk dikalikan dengan GeometryContributionToHitGroupIndex, yang hanya merupakan indeks berbasis 0, geometri disediakan oleh aplikasi ke dalam struktur akselerasi tingkat bawahnya. Hanya 16 bit terbawah dari nilai pengali ini yang digunakan.
MissShaderIndex
Bilangan bulat yang tidak ditandatangani yang menentukan indeks shader miss dalam tabel shader.
Ray
RayDesc yang mewakili sinar yang akan dilacak.
Payload
Payload sinar yang ditentukan pengguna diakses baik untuk input maupun output oleh shader yang dipanggil selama raytracing. Setelah TraceRay selesai, pemanggil juga dapat mengakses payload.
Tampilkan Nilai
batal
Keterangan
Fungsi ini dapat dipanggil dari jenis shader raytracing berikut:
Lihat juga
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