ID3D12Device5::GetRaytracingAccelerationStructurePrebuildInfo 方法 (d3d12.h)

查询驱动程序的资源要求,以生成加速结构。

语法

void GetRaytracingAccelerationStructurePrebuildInfo(
  [in]  const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
  [out] D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO      *pInfo
);

参数

[in] pDesc

加速结构生成的说明。 此结构与 BuildRaytracingAccelerationStructure 共享。 有关详细信息,请参阅 D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS

允许实现查看此结构和嵌套结构中的所有 CPU 参数。 它不能检查/取消引用任何 GPU 虚拟地址,除了检查以查看指针是否为 NULL(例如 D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC 中的可选转换),而无需取消引用。 换句话说,加速结构的资源要求的计算并不依赖于实际几何数据 (,例如顶点位置) ,而只能依赖于总体属性,如三角形数、实例数等。

[out] pInfo

查询结果。

返回值

备注

输入加速结构说明与 BuildRaytracingAccelerationStructure 中的说明相同。 此函数的结果允许应用程序在具有相同几何图形的情况下,向 BuildRaytracingAccelerationStructure 提供正确数量的输出存储和暂存存储。

还可以使用传递给 GetAccelerationStructurePrebuildInfo 的相同配置完成生成,但任何给定几何图形中几何/实例数或顶点/索引/AABB 数相等或较小。 在这种情况下,使用传递给 GetRaytracingAccelerationStructurePrebuildInfo 的原始大小报告的存储要求将有效 – 生成实际上可能会消耗更少的空间,但不会消耗更多空间。 对于为加速结构分配了保守的大型存储的应用方案来说,这很方便。

此方法位于设备接口上,而不是命令列表,前提是驱动程序必须能够计算加速结构生成的资源要求,只需查看调用的 CPU 可见部分,而无需取消引用包含实际顶点数据、索引数据等的 GPU 内存的任何指针。

要求

要求
最低受支持的客户端 Windows 10 版本 1809 [仅限桌面应用]
最低受支持的服务器 Windows Server 2016 [仅限桌面应用]
目标平台 Windows
标头 d3d12.h
Library D3d12.lib
DLL D3d12.dll

另请参阅

ID3D12Device5