語法
成員
Type類型:D3D12XBOX_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_SUBOBJECT_TYPE 此值會是 D3D12XBOX_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_SUBOBJECT_TYPE_PARAMS3。 NumExtraElementsForInstanceSplitting
類型:UINT 驅動程式預設值:
floor(totalInstanceCount * 0.35f)(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE)0(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY)0(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE)
0(所有其他 TLAS 建置旗標)
0xFFFFFFFF(使用驅動程式預設值)[0, totalInstanceCount * 15]
NumExtraElementsForInstanceSplitting = 0 手動停用執行個體分割。
InstanceSplit16Fraction類型:float 驅動程式預設值:
0.2f(所有 TLAS 建置旗標)
-1.0f(使用驅動程式預設值)[0.0f, 1.0f]
NumExtraElementsForInstanceSplitting 的行為。將此值設定為介於 0.0f 和 1.0f 之間,以控制 NumExtraElementsForInstanceSplitting 中用於將 BLAS 分割成 16 個部分 (相對於 4 個部分) 的百分比。
例如,設定 InstanceSplit16Fraction = 1.0f 會將整個預算專用於將大型/稀疏物件分割成 16 個部分,但會影響的 BLAS 總數較少。在包含數個大型地形區塊和許多較小物件的場景等情況下,設定較高的值可能很有用。在有許多大小相近且彼此重疊之物件的場景中,設定較小的值可能很有用。
IsolateSARatio類型:float 驅動程式預設值:
0.75f(所有 TLAS 建置旗標)
0.0f(使用驅動程式預設值)(-1.0f, 0.0f)(先排序物件)(0.0f, 1.0f)(最後排序物件)
備註
使用 D3D12XboxMakeDefault_D3D12XBOX_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_PARAMS3,在覆寫所選成員之前將此結構設定為預設值。請勿將此結構以零初始化。 使用擴充參數時,必須使用 ID3D12Device8::GetRaytracingAccelerationStructurePrebuildInfoX,而不是GetRaytracingAccelerationStructurePrebuildInfo。BVH 記憶體或暫存大小可能不同,若未正確配置,可能導致堆積損毀和 GPU 停止回應。
請參閱 BuildRaytracingAccelerationStructureBatched2X 中的使用範例。
需求
標頭: d3d12_xs.h支援的平台: XBOX Series 主機
另請參閱
D3D12XboxMakeDefault_D3D12XBOX_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_PARAMS3BuildRaytracingAccelerationStructureBatched2X
d3d12_xs
