Bagikan melalui


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

Referensi HLSL Direct3D 12 Raytracing