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

另请参阅

ID3D12Device5