D3D12DDI_HIT_GROUP_DESC_0054 结构 (d3d12umddi.h)

描述命中组。

语法

typedef struct D3D12DDI_HIT_GROUP_DESC_0054 {
  LPCWSTR                       HitGroupExport;
  D3D12DDI_HIT_GROUP_TYPE       Type;
  LPCWSTR                       AnyHitShaderImport;
  LPCWSTR                       ClosestHitShaderImport;
  LPCWSTR                       IntersectionShaderImport;
  D3D12DDI_EXPORT_SUMMARY_FLAGS SummaryFlags;
} D3D12DDI_HIT_GROUP_DESC_0054;

成员

HitGroupExport

命中组的名称。

Type

表示命中组类型的 D3D12DDI_HIT_GROUP_TYPE 枚举。

AnyHitShaderImport

任何命中着色器导入。

ClosestHitShaderImport

最近的命中着色器导入。

IntersectionShaderImport

交集着色器导入。

SummaryFlags

一个D3D12DDI_EXPORT_SUMMARY_FLAGS标志,指示运行时已确定的有关着色器导出的属性。

注解

命中组是一个或多个着色器,包括:

  • 0 或 1 个交集着色器
  • 0 或 1 个任意命中着色器
  • 0 或 1 个最近的命中着色器

给定实例中的各个几何图形都引用一个命中组来提供其着色器代码。 分组的要点是允许实现能够像光线与几何体交互一样高效地编译和执行组

光线生成着色器和缺失着色器不是命中组的一部分,因为它们不直接与几何图形相关。

如果命中组包含交集着色器,则它只能与程序基元几何一起使用。 如果命中组不包含交集着色器,则只能与三角形几何图形一起使用。

也可以使用根本没有着色器的命中组,只需使用 NULL 作为着色器标识符即可。

空命中组可能很有用,例如,如果应用不想对命中执行任何操作,并且只关心未命中任何内容时运行的未命中着色器。

要求

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