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