エフェクト システム インターフェイス (Direct3D 10)

効果システムでは、効果の状態を管理するための複数のインターフェイスが定義されています。 インターフェイスには、効果をレンダリングするためにランタイムで使用されるインターフェイスと、効果変数を取得および設定するためのリフレクション インターフェイスの 2 種類があります。

効果ランタイム インターフェイス

ランタイム インターフェイスを使用して効果をレンダリングします。

ランタイム インターフェイス 説明
ID3D10Effect インターフェイス レンダリングのための 1 つ以上の手法のコレクション。
ID3D10Include インターフェイス インクルード ファイルを読み取るときにカスタム動作を追加するためのインターフェイス。
ID3D10EffectPass インターフェイス 状態の割り当てのコレクション。
ID3D10EffectPool インターフェイス 効果間で変数を共有するためのメモリの場所を作成します。
ID3D10EffectTechnique インターフェイス 1 つ以上のパスのコレクション。

 

効果リフレクション インターフェイス

リフレクションは、効果の状態の読み取り (および書き込み) をサポートするために効果システムで実装されます。 効果変数にアクセスするには、複数の方法があります。

効果の状態のグループの設定

これらのインターフェイスを使用して、状態のグループを取得および設定します。

リフレクション インターフェイス 説明
ID3D10EffectBlendVariable インターフェイス ブレンド状態を取得して設定します。
ID3D10EffectDepthStencilVariable インターフェイス 深度ステンシルの状態を取得および設定します。
ID3D10EffectRasterizerVariable インターフェイス ラスタライザーの状態を取得して設定します。
ID3D10EffectSamplerVariable インターフェイス サンプラーの状態を取得して設定します。

 

効果リソースの設定

これらのインターフェイスを使用して、リソースを取得および設定します。

リフレクション インターフェイス 説明
ID3D10EffectConstantBuffer インターフェイス テクスチャ バッファーまたは定数バッファー内のデータにアクセスします。
ID3D10EffectDepthStencilViewVariable インターフェイス 深度ステンシル リソース内のデータにアクセスします。
ID3D10EffectRenderTargetViewVariable インターフェイス レンダー ターゲット内のデータにアクセスします。
ID3D10EffectShaderResourceVariable インターフェイス シェーダー リソース内のデータにアクセスします。

 

その他の効果変数の設定

これらのインターフェイスを使用して、変数の型によって状態を取得および設定します。

リフレクション インターフェイス 説明
ID3D10EffectMatrixVariable インターフェイス マトリックスを取得して設定します。
ID3D10EffectScalarVariable インターフェイス スカラーを取得して設定します。
ID3D10EffectShaderVariable インターフェイス シェーダー変数を取得して設定します。
ID3D10EffectStringVariable インターフェイス 文字列を取得して設定します。
ID3D10EffectType インターフェイス 変数型を取得します。
ID3D10EffectVectorVariable インターフェイス ベクターを取得して設定します。

 

すべてのリフレクション インターフェイスは 、ID3D10EffectVariable インターフェイスから派生します。

エフェクト

Direct3D 10 のプログラミング ガイド