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 |