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 |