構文
パラメーター
pDesc [in]型: const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS * アクセラレーション構造の構築の記述。この構造体は BuildRaytracingAccelerationStructure と共有されます。詳細については、D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS を参照してください。 実装は、この構造体およびネストされた構造体内のすべての CPU パラメーターを参照することが許可されます。実装は、ポインターが NULL かどうかを確認する以外に GPU 仮想アドレスの検査や逆参照を行うことはできません (たとえば D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC 内のオプションの変換を、逆参照せずに確認するなど)。言い換えれば、アクセラレーション構造のリソース要件の計算は実際のジオメトリ データ (頂点位置など) に依存せず、三角形の数、インスタンスの数などの全体的なプロパティにのみ依存します。 pInfo [out]
型: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO * クエリの結果。
戻り値
型: void なし。解説
入力アクセラレーション構造の記述は、BuildRaytracingAccelerationStructure に渡すものと同じです。この関数の結果により、アプリケーションは同じジオメトリを持つ BuildRaytracingAccelerationStructure に対して、正しい量の出力ストレージとスクラッチ ストレージを提供できます。 構築は、GetAccelerationStructurePrebuildInfo に渡された構成と全体的に同じで、ジオメトリ/インスタンスの数、または任意のジオメトリ内の頂点/インデックス/AABB の数が同じかそれ以下の場合にも実行できます。この場合、GetRaytracingAccelerationStructurePrebuildInfo に渡された元のサイズで報告されたストレージ要件は有効になります。構築は実際にはより少ないスペースを消費する可能性がありますが、より多くのスペースを消費することはありません。これは、アクセラレーション構造用に保守的に大きなストレージを割り当てておくことに問題がないアプリのシナリオで便利です。 このメソッドがコマンド リストではなくデバイス インターフェイス上にあるのは、ドライバーが呼び出しの CPU から見える部分のみを参照して、実際の頂点データ、インデックス データなどを含む GPU メモリへのポインターを逆参照することなくアクセラレーション構造の構築のリソース要件を計算できる必要があるという前提に基づいています。要件
ヘッダー: d3d12_xs.hライブラリ: d3d12_xs.lib
サポートされるプラットフォーム: XBOX Series 本体
