Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Struktur yang dideklarasikan dalam HLSL untuk mewakili atribut hit untuk persimpangan segitiga fungsi tetap atau kotak pembatas yang selaras dengan sumbu untuk persimpangan primitif prosedural.
Persimpangan segitiga fungsi tetap
Struktur berikut dinyatakan dalam HLSL untuk mewakili atribut hit untuk persimpangan segitiga fungsi tetap:
struct BuiltInTriangleIntersectionAttributes
{
float2 barycentrics;
};
Setiap shader hit dan hit terdekat yang dipanggil menggunakan persimpangan segitiga fungsi tetap harus menggunakan struktur ini untuk atribut hit. Atribut tertentu a0, a1 dan a2 untuk 3 simpul segitiga, barycentrics.x adalah berat untuk a1 dan barycentrics.y adalah berat untuk a2. Misalnya, aplikasi dapat menginterpolasi dengan melakukan: a = a0 + barycentrics.x * (a1-a0) + barycentrics.y* (a2 – a0).
Kotak pembatas sejajar sumbu untuk persimpangan primitif prosedural
Ketika kotak pembatas yang selaras dengan sumbu digunakan untuk persimpangan dengan primitif prosedural, shader persimpangan dipicu. Shader tersebut menyediakan struktur atribut persimpangan yang ditentukan pengguna ke panggilan ReportHit . Shader hit dan hit terdekat yang terikat dalam grup hit yang sama dengan shader persimpangan ini harus menggunakan struktur yang sama untuk atribut hit, bahkan jika atribut tidak dirujuk. Ukuran struktur atribut maksimum adalah 32 byte, didefinisikan sebagai D3D12_RAYTRACING_MAX_ATTRIBUTE_SIZE_IN_BYTES.