構文
パラメーター
NumDescriptorHeaps型: UINT バインドする記述子ヒープの数。 ppDescriptorHeaps
型: [in] ID3D12DescriptorHeap* コマンド リストに設定するヒープ用の ID3D12DescriptorHeap オブジェクトの配列へのポインター。 バインドできる記述子ヒープのタイプは D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV および D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER のみです。 各タイプの記述子ヒープを一度に設定できるのは 1 つだけであるため、一度に設定できるのは最大 2 つのヒープ (サンプラー 1 つ、CBV/SRV/UAV 1 つ) となります。
戻り値
型: void なし。解説
SetDescriptorHeaps はバンドルでも呼び出せますが、バンドルの記述子ヒープは呼び出し元のコマンド リストの記述子ヒープと一致する必要があります。バンドルの制限の詳細については、コマンド リストとバンドルの作成と記録 を参照してください。 以前に設定されたヒープはすべて、この呼び出しによって解除されます。呼び出し内でシェーダーから可視な各タイプについて、最大 1 つのヒープを設定できます。 記述子ヒープの変更は、一部のハードウェアでパイプライン フラッシュを引き起こすことがあります。このため、頻繁にバインドされる記述子ヒープを変更するのではなく、各タイプについて 1 つのシェーダー可視ヒープを使用し、フレームごとに 1 回設定することが推奨されます。代わりに、ID3D12Device::CopyDescriptors および ID3D12Device::CopyDescriptorsSimple を使用して、レンダリング時に必要に応じてシェーダー不透明ヒープから単一のシェーダー可視ヒープに必要な記述子をコピーしてください。例
D3D12Bundles サンプルでは、ID3D12GraphicsCommandList::SetDescriptorHeaps を次のように使用しています。要件
ヘッダー: d3d12_xs.h または d3d12_x.hライブラリ: d3d12_xs.lib または d3d12_x.lib
サポートされるプラットフォーム: XBOX Series 本体および XBOX One ファミリ
