ID3D12GraphicsCommandList4::CopyRaytracingAccelerationStructure メソッド (d3d12.h)
指定した変換の適用中に、ソース アクセラレーション構造体をコピー先のメモリにコピーします。
構文
void CopyRaytracingAccelerationStructure(
[in] D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData,
[in] D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData,
[in] D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode
);
パラメーター
[in] DestAccelerationStructureData
宛先メモリ。 必要なサイズは、指定した Mode に必要な場合は、EmitRaytracingAccelerationStructurePostbuildInfo を事前に呼び出すことによって検出できます。
宛先の開始アドレスは、指定された Mode に関係なく、D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENTとして定義された 256 バイトに揃える必要があります。
コピー先のメモリ範囲は、ソースと重複できません。 それ以外の場合、結果は未定義です。
メモリが指すリソースの状態は、 Mode パラメーターによって異なります。 詳細については、「 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE」を参照してください。
[in] SourceAccelerationStructureData
指定した Mode に基づいてコピー/変換するアクセラレーション構造体またはその他の種類のデータのアドレス。 データは変更されず、使用できます。 この操作では、 SourceAccelerationStructureData が指すデータのみがコピーされ、ソース データが指し示すその他のデータ (アクセラレーション構造など) はコピーされません。 たとえば、最上位レベルの加速度構造の場合、それが指す下位レベルの加速度構造は操作でコピーされません。
ソース メモリは、指定された Mode に関係なく、D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENTとして定義された 256 バイトに揃える必要があります。
メモリが指すリソースの状態は、 Mode パラメーターによって異なります。 詳細については、「 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE」を参照してください。
[in] Mode
実行するコピー操作の種類。 詳細については、「 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE」を参照してください。
戻り値
なし
解説
レイトレーシングアクセラレーション構造体には内部ポインターが含まれており、デバイスに依存する不透明なレイアウトを持つことがあるため、それらをコピーしたり操作したりする場合は、ドライバーが要求された操作を処理できるように専用の API が必要です。
このメソッドは、グラフィックスまたはコンピューティング コマンド リストから呼び出すことができますが、バンドルからは呼び出されません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 Version 1809 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2016 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | d3d12.h |
Library | D3D12.lib |
[DLL] | D3D12.dll |