次の方法で共有


ID3DXEffectStateManager インターフェイス

これは、ユーザーがエフェクトからデバイスの状態を設定できるようにするユーザー実装インターフェイスです。 このインターフェイスの各メソッドは、ユーザーが実装する必要があり、次のいずれかが発生したときにアプリケーションへのコールバックとして使用されます。

  • 効果は ID3DXEffect::BeginPass を呼び出します。
  • 効果の状態は、適切な状態変更 API を呼び出すことによって動的に更新されます。 詳細については、個々のメソッド ページを参照してください。

アプリケーションで状態マネージャーを使用してカスタム コールバックを実装すると、 ID3DXEffect::BeginPass と ID3DXEffect::EndPass を呼び出すとき 、効果によって状態が自動的に保存および復元されなくなります。 アプリケーションはコールバックでカスタムの保存と復元の動作を実装しているため、この自動動作はバイパスされます。

メンバー

ID3DXEffectStateManager インターフェイスは、IUnknown インターフェイスから継承します。 ID3DXEffectStateManager には、次の種類のメンバーもあります。

メソッド

ID3DXEffectStateManager インターフェイスには、これらのメソッドがあります。

メソッド 説明
LightEnable ライトを有効または無効にするためにユーザーが実装する必要があるコールバック関数。
SetFVF FVF コードを設定するためにユーザーが実装する必要があるコールバック関数。
SetLight ライトを設定するためにユーザーが実装する必要があるコールバック関数。
SetMaterial マテリアルの状態を設定するためにユーザーが実装する必要があるコールバック関数。
SetNPatchMode N パッチのサブ区分セグメントの数を設定するために、ユーザーが実装する必要があるコールバック関数。
SetPixelShader ピクセル シェーダーを設定するためにユーザーが実装する必要があるコールバック関数。
SetPixelShaderConstantB 頂点シェーダーのブール定数の配列を設定するためにユーザーが実装する必要があるコールバック関数。
SetPixelShaderConstantF 頂点シェーダーの浮動小数点定数の配列を設定するためにユーザーが実装する必要があるコールバック関数。
SetPixelShaderConstantI 頂点シェーダー整数定数の配列を設定するためにユーザーが実装する必要があるコールバック関数。
SetRenderState レンダリング状態を設定するためにユーザーが実装する必要があるコールバック関数。
SetSamplerState サンプラーを設定するためにユーザーが実装する必要があるコールバック関数。
SetTexture テクスチャを設定するためにユーザーが実装する必要があるコールバック関数。
SetTextureStageState テクスチャ ステージの状態を設定するためにユーザーが実装する必要があるコールバック関数。
SetTransform 変換を設定するためにユーザーが実装する必要があるコールバック関数。
SetVertexShader 頂点シェーダーを設定するためにユーザーが実装する必要があるコールバック関数。
SetVertexShaderConstantB 頂点シェーダーのブール定数の配列を設定するためにユーザーが実装する必要があるコールバック関数。
SetVertexShaderConstantF 頂点シェーダーの浮動小数点定数の配列を設定するためにユーザーが実装する必要があるコールバック関数。
SetVertexShaderConstantI 頂点シェーダー整数定数の配列を設定するためにユーザーが実装する必要があるコールバック関数。

 

解説

ユーザーは、このインターフェイスから派生したクラスを実装し、すべてのインターフェイス メソッドを実装することで、ID3DXEffectStateManager インターフェイスを作成します。 インターフェイスが作成されたら、 ID3DXEffect::GetStateManager と ID3DXEffect::SetStateManager を使用して、効果内で状態マネージャーを取得または 設定できます。

LPD3DXEFFECTSTATEMANAGER 型は、このインターフェイスへのポインターとして定義されます。

typedef interface ID3DXEffectStateManager ID3DXEffectStateManager;
typedef interface ID3DXEffectStateManager *LPD3DXEFFECTSTATEMANAGER;

要件

要件
ヘッダー
D3DX9Effect.h
ライブラリ
D3dx9.lib

関連項目

効果インターフェイス