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

コンピューティング シェーダー ステージで使用される定数バッファーを設定します。

構文

void CSSetConstantBuffers(
  [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 定数がバッファーのフル サイズであるかのようにします。

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

要件

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

こちらもご覧ください

ID3D11DeviceContext