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

另请参阅

ID3D12GraphicsCommandList4