次の方法で共有


ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews

リソースを出力結合ステージにバインドします。

void 
OMSetRenderTargetsAndUnorderedAccessViews(
  UINT NumViews,
  ID3D11RenderTargetView **ppRenderTargetViews,
  ID3D11DepthStencilView **ppDepthStencilView,
  UINT UAVStartSlot,
  UINT NumUAVs,
  ID3D11UnorderedAccessView **ppUnorderedAccessView,
  const UINT *pUAVInitialCounts
);

パラメータ

  • NumViews
    設定するレンダー ターゲットの数です。
  • ppRenderTargetViews
    レンダー ターゲット ビューを表す ID3D11RenderTargetView の配列へのポインターです。何も設定しない場合は NULL を指定します。
  • ppDepthStencilView
    深度ステンシル ビューを表す ID3D11DepthStencilView へのポインターです。何も設定しない場合は NULL を指定します。
  • UAVStartSlot
    配列の中でアンオーダード アクセス ビューの設定を開始する位置の、0 から始まるインデックスです (範囲は 0 ~ D3D11_PS_CS_UAV_REGISTER_COUNT - 1)。ピクセル シェーダーの場合、バインドするレンダリング ターゲット ビューの数と UAVStartSlot が一致している必要があります。
  • NumUAVs
    ppUnorderedAccessView 内のアンオーダード アクセス ビューの数です。
  • ppUnorderedAccessView
    アンオーダード アクセス ビューを表す ID3D11UnorderedAccessView の配列へのポインターです。
  • pUAVInitialCounts
    追加/消費バッファー オフセットの配列です。値 -1 は、現在のオフセットを保持することを示します。その他の値を指定すると、その追加可能/消費可能な UAV に隠しカウンターが設定されます。pUAVInitialCounts は、D3D11_BUFFER_UAV_FLAG フラグが設定された UAV にのみ関連し、それ以外の UAV では無視されます。

戻り値

返されるものはありません。

解説 

ピクセル シェーダーの場合、レンダー ターゲット ビューとアンオーダード アクセス ビューは、それぞれが出力されるときに同じリソース スロットを共有します。つまり、スロットの中で、バインドされるレンダー ターゲット ビューの後に UAV が配置されるように、UAV にはオフセットを指定する必要があります。

RTV、DSV、および UAV は、それぞれを後から追加する方法で設定することはできません。すべて同時に設定する必要があります。

要件

ヘッダー: D3D11.h 宣言

ライブラリ: D3D11.lib 内容

関連項目

ID3D11DeviceContext