次の方法で共有


ID3D11DeviceContext::VSSetConstantBuffers メソッド (d3d11.h)

頂点シェーダー パイプライン ステージで使用される定数バッファーを設定します。

構文

void VSSetConstantBuffers(
  [in]           UINT         StartSlot,
  [in]           UINT         NumBuffers,
  [in, optional] ID3D11Buffer * const *ppConstantBuffers
);

パラメーター

[in] StartSlot

型: UINT

定数バッファーの設定を開始するには、デバイスの 0 から始まる配列にインデックスを付けます (0 から D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 の範囲)。

[in] NumBuffers

型: UINT

設定するバッファーの数 (0 から D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot の範囲)。

[in, optional] ppConstantBuffers

種類: ID3D11Buffer*

デバイスに指定されている定数バッファーの配列 ( ID3D11Buffer を参照)。

戻り値

なし

解説

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

Windows 8 以降で使用できる Direct3D 11.1 ランタイムでは、シェーダーでサポートされている最大定数バッファー サイズ (4096 定数 – 4*32 ビット コンポーネント) よりも多くの ID3D11Buffer リソースをシェーダーにバインドできます。 このような大きなバッファーをバインドすると、シェーダーはバッファー内の最初の 4096 4*32 ビット コンポーネント定数にのみアクセスできます。4096 定数がバッファーのフル サイズであるかのようにします。

アプリケーションでシェーダーがバッファーの他の部分にアクセスできるようにする場合は、代わりに VSSetConstantBuffers1 メソッドを 呼び出す必要があります。

Windows Phone 8: この API はサポートされています。

必要条件

   
対象プラットフォーム Windows
ヘッダー d3d11.h
Library D3D11.lib

関連項目

ID3D11DeviceContext