次の方法で共有


ID3D11DeviceContext::P SSetConstantBuffers メソッド (d3d11.h)

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

構文

void PSSetConstantBuffers(
  [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 432 ビット コンポーネント定数にのみアクセスできます。たとえば、4096 定数がバッファーのフル サイズであるかのようにします。

シェーダーがバッファーの他の部分にアクセスできるようにするには、 PSSetConstantBuffers ではなく PSSetConstantBuffers1 を呼び出 しますPSSetConstantBuffers1 には、追加のパラメーター pFirstConstantpNumConstants があります

要件

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

こちらもご覧ください

ID3D11DeviceContext