ID3D11DeviceContext::D SSetConstantBuffers メソッド (d3d11.h)
ドメイン シェーダー ステージで使用される定数バッファーを設定します。
構文
void DSSetConstantBuffers(
[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 定数がバッファーのフル サイズであるかのようにします。
アプリケーションでシェーダーがバッファーの他の部分にアクセスできるようにする場合は、代わりに DSSetConstantBuffers1 メソッドを 呼び出す必要があります。
Windows Phone 8: この API はサポートされています。
必要条件
対象プラットフォーム | Windows |
ヘッダー | d3d11.h |
Library | D3D11.lib |