Skip to main content
レイトレーシング アクセラレーション構造ビルド操作の入力を定義します。この構造体は ID3D12GraphicsCommandList4::BuildRaytracingAccelerationStructureID3D12Device5::GetRaytracingAccelerationStructurePrebuildInfo で使用されます。

構文

メンバー

Type
型: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE
ビルドするアクセラレーション構造の種類。 Flags
型: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS
ビルド フラグ。 NumDescs
型: UINT
TypeD3D12_RAYTRACING_ACCELERATION_STRUCTURE_TOP_LEVEL の場合、この値は DescsLayout に基づいてレイアウトされたインスタンスの数です。 TypeD3D12_RAYTRACING_ACCELERATION_STRUCTURE_BOTTOM_LEVEL の場合、この値は pGeometryDescs または ppGeometryDescs によって参照される要素の数です。これらのフィールドのどちらが使用されるかは DescsLayout によって決まります。 DescsLayout
型: D3D12_ELEMENTS_LAYOUT
ジオメトリの記述を指定する方法。記述の配列か、記述へのポインターの配列のいずれかです。 InstanceDescs
型: D3D12_GPU_VIRTUAL_ADDRESS
TypeD3D12_RAYTRACING_ACCELERATION_STRUCTURE_TOP_LEVEL の場合、これはインスタンスを記述する GPU メモリ内の NumDescs 個の D3D12_RAYTRACING_INSTANCE_DESC 構造体を参照します。各インスタンスは 16 バイト境界に揃える必要があります (これは D3D12_RAYTRACING_INSTANCE_DESC_BYTE_ALIGNMENT として定義されています)。 TypeD3D12_RAYTRACING_ACCELERATION_STRUCTURE_TOP_LEVEL でない場合、このパラメーターは使用されません。 DescLayoutD3D12_ELEMENTS_LAYOUT_ARRAY の場合、InstanceDescs は GPU メモリ内のインスタンス記述の配列を指します。 DescLayoutD3D12_ELEMENTS_LAYOUT_ARRAY_OF_POINTERS の場合、InstanceDescs は、インスタンス記述への D3D12_GPU_VIRTUAL_ADDRESS ポインターの GPU メモリ内の配列を指します。 指すメモリは、状態 D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE にある必要があります。 pGeometryDescs
型: const D3D12_RAYTRACING_GEOMETRY_DESC *
TypeD3D12_RAYTRACING_ACCELERATION_STRUCTURE_BOTTOM_LEVEL で、DescsLayoutD3D12_ELEMENTS_LAYOUT_ARRAY の場合、このフィールドが使用され、個々のジオメトリを記述する CPU 上の連続する NumDescs 個の D3D12_RAYTRACING_GEOMETRY_DESC 構造体を指します。 TypeD3D12_RAYTRACING_ACCELERATION_STRUCTURE_BOTTOM_LEVEL でない、または DescsLayoutD3D12_ELEMENTS_LAYOUT_ARRAY でない場合、このパラメーターは使用されません。 ppGeometryDescs
型: const D3D12_RAYTRACING_GEOMETRY_DESC *const *
TypeD3D12_RAYTRACING_ACCELERATION_STRUCTURE_BOTTOM_LEVEL で、DescsLayoutD3D12_ELEMENTS_LAYOUT_ARRAY_OF_POINTERS の場合、このフィールドが使用され、個々のジオメトリを記述する CPU 上の D3D12_RAYTRACING_GEOMETRY_DESC 構造体への NumDescs 個のポインターの配列を指します。

解説

実際にビルドを行う GetRaytracingAccelerationStructurePrebuildInfo と共に使用する場合、InstanceDescs のように D3D12_GPU_VIRTUAL_ADDRESS (GPU メモリ内のアドレス) を介して参照されるパラメーターは、操作によってアクセスされません。したがって、このメモリはまだ初期化されている必要も、特定のリソース状態にある必要もありません。GPU アドレスが NULL であるかどうかは、ポインターが逆参照されない場合でも、操作によって検査できます。

要件

ヘッダー: d3d12_xs.h
ライブラリ: d3d12_xs.lib
サポートされるプラットフォーム: XBOX Series 本体
最終更新日 2026年8月24日