ID3D11DeviceContext::OMSetRenderTargets メソッド (d3d11.h)
1 つ以上のレンダー ターゲットをアトミックにバインドし、深度ステンシル バッファーを 出力合併ステージにバインドします。
構文
void OMSetRenderTargets(
[in] UINT NumViews,
[in, optional] ID3D11RenderTargetView * const *ppRenderTargetViews,
[in, optional] ID3D11DepthStencilView *pDepthStencilView
);
パラメーター
[in] NumViews
型: UINT
バインドするレンダー ターゲットの数 (0 ~ D3D11_SIMULTANEOUS_RENDER_TARGET_COUNTの範囲)。 このパラメーターが 0 以外の場合、 ppRenderTargetViews がポイントする配列内のエントリの数は、このパラメーターの数値と等しい必要があります。
[in, optional] ppRenderTargetViews
デバイスにバインドするレンダー ターゲットを表す ID3D11RenderTargetView の配列へのポインター。 このパラメーターが NULL で 、NumViews が 0 の場合、レンダー ターゲットはバインドされません。
[in, optional] pDepthStencilView
デバイスにバインドする深度ステンシル ビューを表す ID3D11DepthStencilView へのポインター。 このパラメーターが NULL の場合、深度ステンシル ビューはバインドされません。
戻り値
なし
解説
デバイスが任意の時点でアクティブにできるアクティブなレンダー ターゲットの最大数は、D3D11.h の #define によって D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT と呼ばれます。 同じサブリソースを複数のレンダー ターゲット スロットに設定しようとすると無効です。 この呼び出しで定義されていないレンダー ターゲットはすべて NULL に設定されます。
サブリソースが現在、別のステージまたは書き込み (おそらくパイプラインの別の部分にある) で読み取り用にバインドされている場合、それらのバインド ポイントは NULL に設定され、同じサブリソースが 1 回のレンダリング操作で同時に読み書きされないようにします。
メソッドは、渡されたインターフェイスへの参照を保持します。 これは、Direct3D 10 のデバイス状態の動作とは異なります。
レンダー ターゲット ビューが配列リソースの種類から作成された場合、すべてのレンダー ターゲット ビューの配列サイズが同じである必要があります。
この制限は深度ステンシル ビューにも適用されます。配列のサイズは、バインドされているレンダー ターゲット ビューのサイズと一致している必要があります。
ピクセル シェーダーは、少なくとも 8 つの個別のレンダー ターゲットに同時にレンダリングできる必要があります。 これらのレンダー ターゲットはすべて、同じ種類のリソース (Buffer、Texture1D、Texture1DArray、Texture2D、Texture2DArray、Texture3D、または TextureCube) にアクセスする必要があります。 すべてのレンダー ターゲットは、すべての次元 (幅、高さ、3D の場合は奥行、*Array 型の場合は配列サイズ) でサイズが同じでなければなりません。 レンダー ターゲットでマルチサンプルアンチエイリアシングを使用する場合、バインドされているすべてのレンダー ターゲットと深度バッファーは、マルチサンプル リソースの同じ形式である必要があります (つまり、サンプル数は同じである必要があります)。 各レンダー ターゲットは、異なるデータ形式を持つことができます。 これらのレンダー ターゲット形式は、同じビット/要素数を持つ必要はありません。
レンダー ターゲットの 8 つのスロットの任意の組み合わせで、レンダー ターゲットを設定することも設定することもできません。
同じリソース ビューを複数のレンダー ターゲット スロットに同時にバインドすることはできません。 ただし、1 つのリソースの重複しない複数のリソース ビューを、同時に複数のレンダー ターゲットとして設定できます。
Direct3D の他のリソース メソッドとは異なり、 を呼び出 OMSetRenderTargets(0, nullptr, nullptr);
すことで、現在バインドされているすべてのレンダー ターゲットがバインド解除されることに注意してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | d3d11.h |
Library | D3D11.lib |