ID3D11DeviceContext::IASetVertexBuffers

入力アセンブラー ステージに頂点バッファーの配列をバインドします。

void 
IASetVertexBuffers(
  UINT StartSlot,
  UINT NumBuffers,
  ID3D11Buffer *const *ppVertexBuffers,
  const UINT *pStrides,
  const UINT *pOffsets
);

パラメータ

  • StartSlot
    バインドに使用する最初の入力スロットです。最初の頂点バッファーは開始スロットに明示的にバインドされます。これにより、配列内の後続の各頂点バッファーは、暗黙的に後続の入力スロットにそれぞれバインドされます。入力スロットは 16 個あります (範囲は 0 ~ D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - 1)。
  • NumBuffers
    配列内の頂点バッファーの数です。バッファーの数 (開始スロットも加算されます) は、IA ステージの入力スロットの総数を超えることはできません (範囲は 0 ~ D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - StartSlot)。
  • ppVertexBuffers
    頂点バッファーの配列へのポインターです (「ID3D11Buffer」を参照してください)。頂点バッファーは、D3D11_BIND_VERTEX_BUFFER フラグを使用してあらかじめ作成しておく必要があります。
  • pStrides
    ストライド値の配列へのポインターです。ストライド値は、頂点バッファー配列内のバッファーごとに 1 つずつあります。各ストライドは、その頂点バッファーで使用される要素のサイズ (バイト単位) です。
  • pOffsets
    オフセット値の配列へのポインターです。オフセット値は、頂点バッファー配列内のバッファーごとに 1 つずつあります。各オフセットは、頂点バッファー内の先頭の要素と、使用される最初の要素との間隔をバイト数で表したものです。

戻り値

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

解説 

頂点バッファーの作成の詳細については、「頂点バッファーを作成する」を参照してください。

バッファーを入力および出力として同時にバインドすることはできないため、書き込み用に現在バインドされている (つまりストリーム出力パイプライン ステージにバインドされている) バッファーを使用してこのメソッドを呼び出すと、実際には NULL がバインドされます。

リソースを入力および出力として同時にバインドできないようになっている場合には必ず、デバッグ レイヤーによって警告が生成されます。ただし、これによって無効なデータがランタイムで使用されることを防止できるわけではありません。

このメソッドは、渡されたインターフェイスの参照を保持します。これは、Direct3D 10 でのデバイス ステートの動作とは異なります。

要件

ヘッダー: D3D11.h 宣言

ライブラリ: D3D11.lib 内容

関連項目

ID3D11DeviceContext