语法
typedef enum D3D12_RAYTRACING_GEOMETRY_FLAGS
{
D3D12_RAYTRACING_GEOMETRY_FLAG_NONE = 0,
D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE = 1,
D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION = 2
} D3D12_RAYTRACING_GEOMETRY_FLAGS
常量
| 常量 | 说明 |
|---|---|
| D3D12_RAYTRACING_GEOMETRY_FLAG_NONE | 未指定任何选项。 |
| D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE | 当光线遇到此几何图形时,几何图形会表现得像没有任何命中着色器一样。建议应用程序广泛使用此标志,因为它可以启用重要的光线处理优化。请注意,可以在每个实例的基础上使用 D3D12_RAYTRACING_INSTANCE_FLAGS 以及在每条光线的基础上使用 TraceRay 中的光线标志来覆盖此行为。 |
| D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION | 默认情况下,对于给定的光线-图元交点,系统可以自由地多次触发任意命中着色器。这种灵活性有助于在某些情况下提高加速结构的遍历效率。例如,如果加速结构在内部使用边界体积实现,则实现可能会发现将相对较长的三角形存储在多个边界框中而不是一个较大的单个框中是有益的。然而,某些应用程序用例要求交点最多只报告给任意命中着色器一次。此标志为给定几何图形启用该保证,可能会带来一些性能影响。此标志适用于所有几何图形类型。 |
要求
头文件: d3d12_xs.h库: d3d12_xs.lib
支持的平台:XBOX Series 主机
