跳轉到主要內容
定義光線追蹤加速結構建置作業的輸入。此結構由 ID3D12GraphicsCommandList4::BuildRaytracingAccelerationStructure 與 ID3D12Device5::GetRaytracingAccelerationStructurePrebuildInfo 使用。

語法

成員

Type
類型:D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE
要建置的加速結構類型。 Flags
類型:D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS
建置旗標。 NumDescs
類型:UINT
如果 Type 為 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TOP_LEVEL,此值為執行個體的數目,並根據 DescsLayout 配置。 如果 Type 為 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BOTTOM_LEVEL,此值為 pGeometryDescs 或 ppGeometryDescs 所參考的元素數目。使用這兩個欄位中的哪一個取決於 DescsLayout。 DescsLayout
類型:D3D12_ELEMENTS_LAYOUT
指定幾何描述的方式;可以是描述的陣列,或是指向描述之指標的陣列。 InstanceDescs
類型:D3D12_GPU_VIRTUAL_ADDRESS
如果 Type 為 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TOP_LEVEL,這會參考 GPU 記憶體中描述執行個體的 NumDescs 個 D3D12_RAYTRACING_INSTANCE_DESC 結構。每個執行個體都必須對齊 16 位元組,定義為 D3D12_RAYTRACING_INSTANCE_DESC_BYTE_ALIGNMENT。 如果 Type 不是 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TOP_LEVEL,則不會使用此參數。 如果 DescLayout 為 D3D12_ELEMENTS_LAYOUT_ARRAY,InstanceDescs 會指向 GPU 記憶體中的執行個體描述陣列。 如果 DescLayout 為 D3D12_ELEMENTS_LAYOUT_ARRAY_OF_POINTERS,InstanceDescs 會指向 GPU 記憶體中由指向執行個體描述之 D3D12_GPU_VIRTUAL_ADDRESS 指標所組成的陣列。 所指向的記憶體必須處於 D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE 狀態。 pGeometryDescs
類型:const D3D12_RAYTRACING_GEOMETRY_DESC *
如果 Type 為 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BOTTOM_LEVEL,且 DescsLayout 為 D3D12_ELEMENTS_LAYOUT_ARRAY,則會使用此欄位,並指向 CPU 上描述個別幾何的 NumDescs 個連續 D3D12_RAYTRACING_GEOMETRY_DESC 結構。 如果 Type 不是 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BOTTOM_LEVEL,或 DescsLayout 不是 D3D12_ELEMENTS_LAYOUT_ARRAY,則不會使用此參數。 ppGeometryDescs
類型:const D3D12_RAYTRACING_GEOMETRY_DESC *const *
如果 Type 為 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BOTTOM_LEVEL,且 DescsLayout 為 D3D12_ELEMENTS_LAYOUT_ARRAY_OF_POINTERS,則會使用此欄位,並指向由 NumDescs 個指標組成的陣列,這些指標指向 CPU 上描述個別幾何的 D3D12_RAYTRACING_GEOMETRY_DESC 結構。

備註

與 GetRaytracingAccelerationStructurePrebuildInfo 搭配使用時,任何透過 D3D12_GPU_VIRTUAL_ADDRESS (GPU 記憶體中的位址) 參考的參數 (例如 InstanceDescs) 都不會被該作業存取。因此,此記憶體尚不需要初始化,也不需要處於特定資源狀態。即使不會對指標進行取值,作業仍可能檢查 GPU 位址是否為 null。

需求

標頭: d3d12_xs.h
程式庫: d3d12_xs.lib
支援的平台: XBOX Series 主機
最後修改於 2026年10月6日