Skip to main content
レイトレーシング アクセラレーション構造を記述します。ビルドするアクセラレーション構造を記述するために、この構造体を ID3D12GraphicsCommandList4::BuildRaytracingAccelerationStructure に渡します。

構文

メンバー

DestAccelerationStructureData
型: D3D12_GPU_VIRTUAL_ADDRESS
結果として得られるアクセラレーション構造を格納する場所。ID3D12Device5::GetRaytracingAccelerationStructurePrebuildInfo は、指定されたアクセラレーション構造ビルド パラメーターのセットに対して、ここに結果を格納するために必要なメモリの量を報告します。 このアドレスは 256 バイト境界に揃える必要があります。これは D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT として定義されています。
メモリは状態 D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE にある必要があります。
Inputs
型: D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS
アクセラレーション構造ビルドの入力データの記述。このデータは、GetRaytracingAccelerationStructurePrebuildInfo でも使用されるため、別の構造体に格納されます。 SourceAccelerationStructureData
型: D3D12_GPU_VIRTUAL_ADDRESS
Flags パラメーターで D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE を設定してアクセラレーション構造の更新 (増分ビルド) が要求される場合の、既存のアクセラレーション構造のアドレス。それ以外の場合、このアドレスは NULL である必要があります。 このアドレスが DestAccelerationStructureData と同じ場合、更新は in-place で実行されます。ソースと宛先のメモリのその他の重複は無効であり、未定義の動作を引き起こします。 このアドレスは 256 バイト境界に揃える必要があります (これは D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT として定義されています)。ここに渡される既存のアクセラレーション構造は、そのようなアラインメントで配置されている必要があるため、これは自動的に満たされているはずです。
メモリは状態 D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE にある必要があります。

ScratchAccelerationStructureData

ビルドが一時データを格納する場所。GetRaytracingAccelerationStructurePrebuildInfo は、指定されたアクセラレーション構造ビルド パラメーターのセットに対して実装が必要とするスクラッチ メモリの量を報告します。
メモリは状態 D3D12_RESOURCE_STATE_UNORDERED_ACCESS にある必要があります。
ScratchAccelerationStructureData
型: D3D12_GPU_VIRTUAL_ADDRESS

要件

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