D3D12_RAYTRACING_GEOMETRY_FLAGS 枚举 (d3d12.h)

指定 D3D12_RAYTRACING_GEOMETRY_DESC 结构中光线追踪几何图形的标志。

语法

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
} ;

常量

 
D3D12_RAYTRACING_GEOMETRY_FLAG_NONE
值: 0
没有指定选项。
D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE
值: 0x1
当光线遇到此几何图形时,几何图形的作用就好像没有任何命中着色器存在。 建议应用自由使用此标志,因为它可以启用重要的光线处理优化。 请注意,可以使用 TraceRay 中的光线标志按实例重写此行为D3D12_RAYTRACING_INSTANCE_FLAGS,也可以基于每个光线重写此行为。
D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION
值: 0x2
默认情况下,系统可以针对给定的光线基元交集多次触发任何命中着色器。 在某些情况下,这种灵活性有助于提高加速结构的遍历效率。 例如,如果加速结构是使用边界卷在内部实现的,则实现可能会发现将相对较长的三角形存储在多个边界框中,而不是将较大的单个框存储为有利。 但是,某些应用程序用例要求交集最多一次报告给任何命中着色器。 此标志可实现给定几何图形的保证,这可能会对性能造成一些影响。

此标志适用于所有几何图形类型。

要求

要求
Header d3d12.h