D3D12DDI_RAYTRACING_GEOMETRY_FLAGS 枚举 (d3d12umddi.h)

指定光线跟踪几何标志。

语法

typedef enum D3D12DDI_RAYTRACING_GEOMETRY_FLAGS {
  D3D12DDI_RAYTRACING_GEOMETRY_FLAG_NONE,
  D3D12DDI_RAYTRACING_GEOMETRY_FLAG_OPAQUE,
  D3D12DDI_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION
} ;

常量

 
D3D12DDI_RAYTRACING_GEOMETRY_FLAG_NONE
没有指定选项。
D3D12DDI_RAYTRACING_GEOMETRY_FLAG_OPAQUE
当光线遇到此几何图形时,几何图形的作用就好像没有任何命中着色器存在一样。 建议随意使用此标志,因为它可以实现重要的光线处理优化。

注意

可以使用 D3D12DDI_RAYTRACING_INSTANCE_FLAGS在每个实例的基础上重写此行为,也可以使用 TraceRay () 中的 Ray 标志按光线重写此行为。

D3D12DDI_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION
默认情况下,系统可以自由地为给定的光线基元交集多次触发任何命中着色器。 在某些情况下,这种灵活性有助于提高加速结构的遍历效率。 例如,如果加速结构是使用边界卷在内部实现的,则实现可能会发现将相对较长的三角形存储在多个边界框中,而不是在较大的单个框中存储。

但是,某些应用程序用例要求交集最多一次报告给任何命中着色器。 此标志为给定几何图形启用这种保证,可能会对性能造成一定影响。

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

要求

要求
最低受支持的客户端 Windows 10 版本 1809
标头 d3d12umddi.h