ID3D12GraphicsCommandList4::CopyRaytracingAccelerationStructure 方法 (d3d12.h)
应用指定转换时,将源加速结构复制到目标内存。
语法
void CopyRaytracingAccelerationStructure(
[in] D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData,
[in] D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData,
[in] D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode
);
参数
[in] DestAccelerationStructureData
目标内存。 如果需要指定模式,可以通过事先调用 EmitRaytracingAccelerationStructurePostbuildInfo 来发现所需的大小。
无论指定的模式如何,目标起始地址都必须与 256 字节对齐(定义为D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT)。
目标内存范围不能与源重叠。 否则,结果为未定义。
指向的内存必须处于的资源状态取决于 Mode 参数。 有关详细信息,请参阅 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE。
[in] SourceAccelerationStructureData
要基于指定 模式复制/转换的加速结构或其他类型的数据的地址。 数据保持不变且可用。 该操作仅复制 SourceAccelerationStructureData 指向的数据,而不复制源数据可能指向的任何其他数据,例如加速结构。 例如,对于顶级加速结构,不会在操作中复制它指向的任何底层加速结构。
源内存必须对齐到 256 字节(定义为 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT),而不考虑指定的 模式。
指向的内存必须处于的资源状态取决于 Mode 参数。 有关详细信息,请参阅 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE。
[in] Mode
要执行的复制操作的类型。 有关详细信息,请参阅 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE。
返回值
无
备注
由于光线跟踪加速结构可能包含内部指针,并且具有设备依赖的不透明布局,因此复制它们或以其他方式操作它们需要专用 API,以便驱动程序可以处理请求的操作。
此方法可以从图形或计算命令列表调用,但不能从捆绑包调用。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10 版本 1809 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2016 [仅限桌面应用] |
目标平台 | Windows |
标头 | d3d12.h |
Library | D3D12.lib |
DLL | D3D12.dll |