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
查询的结果(在 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO 结构中)。
返回值
没有
言论
输入加速结构说明与 BuildRaytracingAccelerationStructure相同。 此函数的结果允许应用程序提供正确的输出存储和暂存存储量,以 给定相同的几何图形 BuildRaytracingAccelerationStructure。
还可以使用传递给 GetAccelerationStructurePrebuildIn fo 的相同配置来完成生成,但除几何图形/实例数相等或更小的计数或任意给定几何图形中的顶点/索引数/AAB。 在这种情况下,报告的原始大小的存储要求将传递给 GetRaytracingAccelerationStructurePrebuildInfo 有效 – 生成实际上可能会消耗更少的空间,但不会占用更多空间。 对于为加速结构分配保守的大型存储的应用方案来说,这很方便。
此方法位于设备接口上,而不是基于假设驱动程序必须能够计算加速结构生成的资源要求,只需查看调用的 CPU 可见部分,而无需取消引用包含实际顶点数据、索引数据等的 GPU 内存的任何指针。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 10 版本 1809 [仅限桌面应用] |
支持的最低服务器 | Windows Server 2016 [仅限桌面应用] |
目标平台 | 窗户 |
标头 | d3d12.h |
库 | D3d12.lib |
DLL | D3d12.dll |