エフェクト システム インターフェイス (Direct3D 11)
効果システムでは、効果の状態を管理するための複数のインターフェイスが定義されています。 インターフェイスには、効果をレンダリングするためにランタイムで使用されるインターフェイスと、効果変数を取得および設定するためのリフレクション インターフェイスの 2 種類があります。
エフェクト ランタイム インターフェイス
ランタイム インターフェイスを使用して効果をレンダリングします。
ランタイム インターフェイス | 説明 |
---|---|
ID3DX11Effect | レンダリングのための 1 つ以上のグループと手法のコレクション。 |
ID3DX11EffectPass | 状態の割り当てのコレクション。 |
ID3DX11EffectTechnique | 1 つ以上のパスのコレクション。 |
ID3DX11EffectGroup | 1 つ以上の手法のコレクション。 |
効果リフレクション インターフェイス
リフレクションは、効果の状態の読み取り (および書き込み) をサポートするために、効果システムに実装されます。 効果変数にアクセスするには、複数の方法があります。
効果の状態のグループの設定
これらのインターフェイスを使用して、状態のグループを取得および設定します。
リフレクション インターフェイス | 説明 |
---|---|
ID3DX11EffectBlendVariable | ブレンド状態を取得して設定します。 |
ID3DX11EffectDepthStencilVariable | 深度ステンシルの状態を取得して設定します。 |
ID3DX11EffectRasterizerVariable | ラスタライザーの状態を取得して設定します。 |
ID3DX11EffectSamplerVariable | サンプラーの状態を取得して設定します。 |
効果リソースの設定
これらのインターフェイスを使用して、リソースを取得および設定します。
リフレクション インターフェイス | 説明 |
---|---|
ID3DX11EffectConstantBuffer | テクスチャ バッファーまたは定数バッファー内のデータにアクセスします。 |
ID3DX11EffectDepthStencilViewVariable | 深度ステンシル リソース内のデータにアクセスします。 |
ID3DX11EffectRenderTargetViewVariable | レンダー ターゲット内のデータにアクセスします。 |
ID3DX11EffectShaderResourceVariable | シェーダー リソース内のデータにアクセスします。 |
ID3DX11EffectUnorderedAccessViewVariable | 順序付けられていないアクセス ビューのデータにアクセスします。 |
その他の効果変数の設定
これらのインターフェイスを使用して、変数の型によって状態を取得および設定します。
リフレクション インターフェイス | 説明 |
---|---|
ID3DX11EffectClassInstanceVariable | クラス インスタンスを取得します。 |
ID3DX11EffectInterfaceVariable | インターフェイスを取得して設定します。 |
ID3DX11EffectMatrixVariable | マトリックスを取得して設定します。 |
ID3DX11EffectScalarVariable | スカラーを取得して設定します。 |
ID3DX11EffectShaderVariable | シェーダー変数を取得します。 |
ID3DX11EffectStringVariable | 文字列を取得して設定します。 |
ID3DX11EffectType | 変数の型を取得します。 |
ID3DX11EffectVectorVariable | ベクターを取得して設定します。 |
すべてのリフレクション インターフェイスは 、ID3DX11EffectVariable から派生します。
関連トピック