enumerasi D3D12_RAYTRACING_GEOMETRY_FLAGS (d3d12.h)
Menentukan bendera untuk geometri raytracing dalam struktur D3D12_RAYTRACING_GEOMETRY_DESC .
Sintaks
typedef enum D3D12_RAYTRACING_GEOMETRY_FLAGS {
D3D12_RAYTRACING_GEOMETRY_FLAG_NONE = 0,
D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE = 0x1,
D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION = 0x2
} ;
Konstanta
D3D12_RAYTRACING_GEOMETRY_FLAG_NONE Nilai: 0 Tidak ada opsi yang ditentukan. |
D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE Nilai: 0x1 Ketika sinar menemukan geometri ini, geometri bertindak seolah-olah tidak ada shader hit yang ada. Disarankan agar aplikasi menggunakan bendera ini secara liberal, karena dapat memungkinkan pengoptimalan pemrosesan sinar penting. Perhatikan bahwa perilaku ini dapat ditimpa per instans dengan D3D12_RAYTRACING_INSTANCE_FLAGS dan berdasarkan per sinar menggunakan bendera sinar di TraceRay. |
D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION Nilai: 0x2 Secara default, sistem bebas untuk memicu shader hit lebih dari sekali untuk persimpangan ray-primitif tertentu. Fleksibilitas ini membantu meningkatkan efisiensi traversal struktur akselerasi dalam kasus tertentu. Misalnya, jika struktur akselerasi diimplementasikan secara internal dengan volume pembatas, implementasi mungkin merasa bermanfaat untuk menyimpan segitiga yang relatif panjang dalam beberapa kotak pembatas daripada satu kotak yang lebih besar. Namun, beberapa kasus penggunaan aplikasi mengharuskan persimpangan dilaporkan ke shader hit paling banyak sekali. Bendera ini memungkinkan jaminan tersebut untuk geometri yang diberikan, berpotensi dengan beberapa dampak performa. Bendera ini berlaku untuk semua jenis geometri. |
Persyaratan
Persyaratan | Nilai |
---|---|
Header | d3d12.h |