ID3D11DeviceContext::PSSetShader

ピクセル シェーダーをデバイスに設定します。

void 
PSSetShader(
  ID3D11PixelShader *pPixelShader,
  ID3D11ClassInstance *const *ppClassInstances,
  UINT NumClassInstances
);

パラメータ

  • pPixelShader
    ピクセル シェーダーへのポインターです (「ID3D11PixelShader」を参照してください)。NULL を渡すと、このパイプライン ステージのシェーダーが無効になります。
  • ppClassInstances
    クラス インスタンス インターフェイスの配列へのポインターです (「ID3D11ClassInstance」を参照してください)。シェーダーが使用する各インターフェイスは、対応するクラス インスタンスを持つ必要があります。持たない場合、シェーダーは無効になります。シェーダーでインターフェイスを使用しない場合は、ppClassInstances を NULL に設定してください。
  • NumClassInstances
    配列のクラス インスタンス インターフェイスの数です。

戻り値

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

解説 

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

シェーダーに設定できる最大インスタンス数は、256 個です。

インターフェイスがシェーダーで使用されていない場合は、ppClassInstance を NULL に設定します。この値が NULL 以外の場合、クラス インスタンスの数が、シェーダーで使用されているインターフェイスの数と一致する必要があります。さらに、各インターフェイス ポインターは、対応するクラス インスタンスを持つ必要があります。持たない場合、割り当てられたシェーダーは無効になります。

要件

ヘッダー: D3D11.h 宣言

ライブラリ: D3D11.lib 内容

関連項目

ID3D11DeviceContext