次の方法で共有


ID3D12GraphicsCommandList::OMSetRenderTargets メソッド (d3d12.h)

レンダー ターゲットと深度ステンシルの CPU 記述子ハンドルを設定します。

構文

void OMSetRenderTargets(
  [in]           UINT                              NumRenderTargetDescriptors,
  [in, optional] const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
  [in]           BOOL                              RTsSingleHandleToDescriptorRange,
  [in, optional] const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor
);

パラメーター

[in] NumRenderTargetDescriptors

型: UINT

pRenderTargetDescriptors 配列内のエントリの数 (0 ~ D3D12_SIMULTANEOUS_RENDER_TARGET_COUNTの範囲)。 このパラメーターが 0 以外の場合、pRenderTargetDescriptors がポイントする配列内のエントリの数は、このパラメーターの数値と等しい必要があります。

[in, optional] pRenderTargetDescriptors

型: const D3D12_CPU_DESCRIPTOR_HANDLE*

レンダー ターゲット 記述子のヒープ の開始を表す CPU 記述子ハンドルを記述するD3D12_CPU_DESCRIPTOR_HANDLE構造体の配列を指定します。 このパラメーターが NULL で、NumRenderTargetDescriptors が 0 の場合、レンダー ターゲットはバインドされません。

[in] RTsSingleHandleToDescriptorRange

種類: BOOL

True は 、渡されるハンドルが NumRenderTargetDescriptors 記述子の連続した範囲へのポインターであることを意味します。 このケースは、バインドする記述子のセットが既にメモリ内で連続している場合に便利です (そのため、必要なのは最初の記述子へのハンドルです)。 たとえば、 NumRenderTargetDescriptors が 3 の場合、メモリ レイアウトは次のように取得されます。

パラメーターが true に設定されたメモリ レイアウト この場合、ドライバーはハンドルを逆参照し、指しているメモリをインクリメントします。

False は 、ハンドルが NumRenderTargetDescriptors ハンドルの配列の最初であることを意味します。 false の場合、アプリケーションは、一度に異なる場所から記述子のセットをバインドできます。 NumRenderTargetDescriptors が 3 であると仮定すると、メモリ レイアウトは次のようになります。

パラメーターが false に設定されたメモリ レイアウト この場合、ドライバーは、メモリ内で互いに隣接すると予想される 3 つのハンドルを逆参照します。

[in, optional] pDepthStencilDescriptor

型: const D3D12_CPU_DESCRIPTOR_HANDLE*

深度ステンシル 記述子を保持 するヒープの開始を表す CPU 記述子ハンドルを表すD3D12_CPU_DESCRIPTOR_HANDLE構造体へのポインター。 このパラメーターが NULL の場合、深度ステンシル記述子はバインドされません。

戻り値

なし

必要条件

要件
対象プラットフォーム Windows
ヘッダー d3d12.h
Library D3d12.lib
[DLL] D3d12.dll

こちらもご覧ください

ID3D12GraphicsCommandList