D3D12DDI_RAYTRACING_INSTANCE_DESC_0054 结构 (d3d12umddi.h)

描述光线跟踪实例。 此数据结构在加速结构生成期间用于 GPU 内存中,如果先在 CPU 上生成实例数据,然后再上传到 GPU,则非常有用。

语法

typedef struct D3D12DDI_RAYTRACING_INSTANCE_DESC_0054 {
  FLOAT                        Transform[3][4];
  UINT                         InstanceID : 24;
  UINT                         InstanceMask : 8;
  UINT                         InstanceContributionToHitGroupIndex : 24;
  UINT                         Flags : 8;
  D3D12DDI_GPU_VIRTUAL_ADDRESS AccelerationStructure;
} D3D12DDI_RAYTRACING_INSTANCE_DESC_0054;

成员

Transform[3]

行主布局中的 3x4 转换矩阵,表示实例到世界转换。

InstanceID

着色器类型中的任意 24 位值。

InstanceMask

分配给实例的 8 位掩码,可用于按光线包含或拒绝实例组。 如果值为零,则永远不会包含实例。 将此值设置为非零值。

InstanceContributionToHitGroupIndex

要添加到着色器表索引中的每个实例贡献,以选择要使用的命中组。

Flags

要应用于实例的标志。

AccelerationStructure

正在实例的底层加速结构的地址。 地址必须对齐到 256 个字节。

指向的内存必须处于 资源状态 D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE。

要求

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