ID3D10EffectVariable
COM公式ドキュメント
ID3D10EffectVariable インターフェイスは、すべてのエフェクト変数の基底クラスです。
メソッド 25
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
データ型を、格納されているデータと比較します。
戻り値
型: BOOL
構文が有効な場合は TRUE、それ以外の場合は FALSE を返します。
解説(Remarks)
このメソッドは、あるインターフェイスを別のインターフェイスにキャストした後(いずれかの As メソッドを使用)に、データ型が格納されているデータと一致するかどうかを確認します。
型情報を取得します。
戻り値
型: ID3D10EffectType*
ID3D10EffectType インターフェイスへのポインター。
説明を取得します。
| pDesc | D3D10_EFFECT_VARIABLE_DESC* | out | エフェクト変数の説明へのポインター(D3D10_EFFECT_VARIABLE_DESC を参照)。 |
戻り値
型: HRESULT
次の Direct3D 10 リターンコードのいずれかを返します。
ID3D10EffectVariable::GetAnnotationByIndex (d3d10effect.h) メソッドは、注釈(アノテーション)をインデックスで取得します。
| Index | DWORD | in | 0 から始まるインデックス。 |
戻り値
ID3D10EffectVariable インターフェイスへのポインター。
解説(Remarks)
注釈は、テクニック、パス、またはグローバル変数に付加できます。構文については、注釈の構文 (Direct3D 10)を参照してください。
注釈(アノテーション)を名前で取得します。(ID3D10EffectVariable.GetAnnotationByName)
| Name | LPSTR | in | 注釈の名前。 |
戻り値
ID3D10EffectVariable インターフェイスへのポインター。注釈が見つからない場合、返される ID3D10EffectVariable インターフェイスは空になることに注意してください。注釈が見つかったかどうかを判断するには、ID3D10EffectVariable::IsValid メソッドを呼び出す必要があります。
解説(Remarks)
注釈は、テクニック、パス、またはグローバル変数に付加できます。構文については、注釈の構文 (Direct3D 10)を参照してください。
構造体のメンバーをインデックスで取得します。
| Index | DWORD | in | 0 から始まるインデックス。 |
戻り値
ID3D10EffectVariable インターフェイスへのポインター。
解説(Remarks)
エフェクト変数が構造体である場合、このメソッドを使用してメンバーをインデックスで検索します。
構造体のメンバーを名前で取得します。
| Name | LPSTR | in | メンバー名。 |
戻り値
ID3D10EffectVariable インターフェイスへのポインター。
解説(Remarks)
エフェクト変数が構造体である場合、このメソッドを使用してメンバーを名前で検索します。
構造体のメンバーをセマンティクスで取得します。
| Semantic | LPSTR | in | セマンティクス。 |
戻り値
ID3D10EffectVariable インターフェイスへのポインター。
解説(Remarks)
エフェクト変数が構造体である場合、このメソッドを使用してメンバーを付加されたセマンティクスで検索します。
配列要素を取得します。
| Index | DWORD | in | 0 から始まるインデックス。それ以外の場合は 0。 |
戻り値
ID3D10EffectVariable インターフェイスへのポインター。
解説(Remarks)
エフェクト変数が配列である場合、このメソッドを使用して要素の 1 つを返します。
定数バッファーを取得します。(ID3D10EffectVariable.GetParentConstantBuffer)
戻り値
解説(Remarks)
エフェクト変数は、定数バッファーから読み取られる、または定数バッファーへ書き込まれます。
スカラー変数を取得します。
戻り値
型: ID3D10EffectScalarVariable*
スカラー変数へのポインター。ID3D10EffectScalarVariable を参照してください。
解説(Remarks)
AsScalar は、スカラー変数に特殊化されたエフェクト変数を返します。キャストと同様に、この特殊化は、エフェクト変数がスカラーデータを含まない場合に無効なオブジェクトを返します。
アプリケーションは、IsValid を呼び出すことで、返されたオブジェクトの有効性をテストできます。
ベクトル変数を取得します。
戻り値
型: ID3D10EffectVectorVariable*
ベクトル変数へのポインター。ID3D10EffectVectorVariable を参照してください。
解説(Remarks)
AsVector は、ベクトル変数に特殊化されたエフェクト変数を返します。キャストと同様に、この特殊化は、エフェクト変数がベクトルデータを含まない場合に無効なオブジェクトを返します。
アプリケーションは、IsValid を呼び出すことで、返されたオブジェクトの有効性をテストできます。
行列変数を取得します。
戻り値
型: ID3D10EffectMatrixVariable*
行列変数へのポインター。ID3D10EffectMatrixVariable を参照してください。
解説(Remarks)
AsMatrix は、行列変数に特殊化されたエフェクト変数を返します。キャストと同様に、この特殊化は、エフェクト変数が行列データを含まない場合に無効なオブジェクトを返します。
アプリケーションは、IsValid を呼び出すことで、返されたオブジェクトの有効性をテストできます。
文字列変数を取得します。
戻り値
型: ID3D10EffectStringVariable*
文字列変数へのポインター。ID3D10EffectStringVariable を参照してください。
解説(Remarks)
AsString は、文字列変数に特殊化されたエフェクト変数を返します。キャストと同様に、この特殊化は、エフェクト変数が文字列データを含まない場合に無効なオブジェクトを返します。
アプリケーションは、IsValid を呼び出すことで、返されたオブジェクトの有効性をテストできます。
シェーダーリソース変数を取得します。
戻り値
型: ID3D10EffectShaderResourceVariable*
シェーダーリソース変数へのポインター。ID3D10EffectShaderResourceVariable を参照してください。
解説(Remarks)
AsShaderResource は、シェーダーリソース変数に特殊化されたエフェクト変数を返します。キャストと同様に、この特殊化は、エフェクト変数がシェーダーリソースデータを含まない場合に無効なオブジェクトを返します。
アプリケーションは、IsValid を呼び出すことで、返されたオブジェクトの有効性をテストできます。
レンダーターゲットビュー変数を取得します。
戻り値
型: ID3D10EffectRenderTargetViewVariable*
レンダーターゲットビュー変数へのポインター。ID3D10EffectRenderTargetViewVariable インターフェイスを参照してください。
解説(Remarks)
このメソッドは、レンダーターゲットビュー変数に特殊化されたエフェクト変数を返します。キャストと同様に、この特殊化は、エフェクト変数がレンダーターゲットビューデータを含まない場合に無効なオブジェクトを返します。
アプリケーションは、IsValid を呼び出すことで、返されたオブジェクトの有効性をテストできます。
深度ステンシルビュー変数を取得します。
戻り値
型: ID3D10EffectDepthStencilViewVariable*
深度ステンシルビュー変数へのポインター。ID3D10EffectDepthStencilViewVariable インターフェイスを参照してください。
解説(Remarks)
このメソッドは、深度ステンシルビュー変数に特殊化されたエフェクト変数を返します。キャストと同様に、この特殊化は、エフェクト変数が深度ステンシルビューデータを含まない場合に無効なオブジェクトを返します。
アプリケーションは、IsValid を呼び出すことで、返されたオブジェクトの有効性をテストできます。
定数バッファーを取得します。(ID3D10EffectVariable.AsConstantBuffer)
戻り値
型: ID3D10EffectConstantBuffer*
定数バッファーへのポインター。ID3D10EffectConstantBuffer を参照してください。
解説(Remarks)
AsConstantBuffer は、定数バッファーに特殊化されたエフェクト変数を返します。キャストと同様に、この特殊化は、エフェクト変数が定数バッファーデータを含まない場合に無効なオブジェクトを返します。
アプリケーションは、IsValid を呼び出すことで、返されたオブジェクトの有効性をテストできます。
シェーダー変数を取得します。
戻り値
型: ID3D10EffectShaderVariable*
シェーダー変数へのポインター。ID3D10EffectShaderVariable を参照してください。
解説(Remarks)
AsShader は、シェーダー変数に特殊化されたエフェクト変数を返します。キャストと同様に、この特殊化は、エフェクト変数がシェーダーデータを含まない場合に無効なオブジェクトを返します。
アプリケーションは、IsValid を呼び出すことで、返されたオブジェクトの有効性をテストできます。
エフェクトブレンド変数を取得します。
戻り値
エフェクトブレンド変数へのポインター。ID3D10EffectBlendVariable を参照してください。
解説(Remarks)
AsBlend は、エフェクトブレンド変数に特殊化されたエフェクト変数を返します。キャストと同様に、この特殊化は、エフェクト変数がエフェクトブレンドデータを含まない場合に無効なオブジェクトを返します。
アプリケーションは、IsValid を呼び出すことで、返されたオブジェクトの有効性をテストできます。
深度ステンシル変数を取得します。
戻り値
型: ID3D10EffectDepthStencilVariable*
深度ステンシル変数へのポインター。ID3D10EffectDepthStencilVariable を参照してください。
解説(Remarks)
AsDepthStencil は、深度ステンシル変数に特殊化されたエフェクト変数を返します。キャストと同様に、この特殊化は、エフェクト変数が深度ステンシルデータを含まない場合に無効なオブジェクトを返します。
アプリケーションは、IsValid を呼び出すことで、返されたオブジェクトの有効性をテストできます。
ラスタライザー変数を取得します。
戻り値
型: ID3D10EffectRasterizerVariable*
ラスタライザー変数へのポインター。ID3D10EffectRasterizerVariable を参照してください。
解説(Remarks)
AsRasterizer は、ラスタライザー変数に特殊化されたエフェクト変数を返します。キャストと同様に、この特殊化は、エフェクト変数がラスタライザーデータを含まない場合に無効なオブジェクトを返します。
アプリケーションは、IsValid を呼び出すことで、返されたオブジェクトの有効性をテストできます。
サンプラー変数を取得します。
戻り値
型: ID3D10EffectSamplerVariable*
サンプラー変数へのポインター。ID3D10EffectSamplerVariable を参照してください。
解説(Remarks)
AsSampler は、サンプラー変数に特殊化されたエフェクト変数を返します。キャストと同様に、この特殊化は、エフェクト変数がサンプラーデータを含まない場合に無効なオブジェクトを返します。
アプリケーションは、IsValid を呼び出すことで、返されたオブジェクトの有効性をテストできます。
データを設定します。
| pData | void* | in | 変数へのポインター。 |
| Offset | DWORD | in | ポインターの先頭からデータまでのオフセット(バイト単位)。 |
| ByteCount | DWORD | in | 設定するバイト数。 |
戻り値
型: HRESULT
次の Direct3D 10 リターンコードのいずれかを返します。
解説(Remarks)
このメソッドは変換や型チェックを一切行いません。そのため、配列項目にアクセスする非常に高速な方法です。
データを取得します。
| pData | void* | out | 変数へのポインター。 |
| Offset | DWORD | in | ポインターの先頭からデータまでのオフセット(バイト単位)。 |
| ByteCount | DWORD | in | 取得するバイト数。 |
戻り値
型: HRESULT
次の Direct3D 10 リターンコードのいずれかを返します。
解説(Remarks)
このメソッドは変換や型チェックを一切行いません。そのため、配列項目にアクセスする非常に高速な方法です。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_ID3D10EffectVariable "{AE897105-00E6-45BF-BB8E-281DD6DB8E1B}" #usecom global ID3D10EffectVariable IID_ID3D10EffectVariable "{}" #comfunc global ID3D10EffectVariable_IsValid 0 #comfunc global ID3D10EffectVariable_GetType 1 #comfunc global ID3D10EffectVariable_GetDesc 2 var #comfunc global ID3D10EffectVariable_GetAnnotationByIndex 3 int #comfunc global ID3D10EffectVariable_GetAnnotationByName 4 str #comfunc global ID3D10EffectVariable_GetMemberByIndex 5 int #comfunc global ID3D10EffectVariable_GetMemberByName 6 str #comfunc global ID3D10EffectVariable_GetMemberBySemantic 7 str #comfunc global ID3D10EffectVariable_GetElement 8 int #comfunc global ID3D10EffectVariable_GetParentConstantBuffer 9 #comfunc global ID3D10EffectVariable_AsScalar 10 #comfunc global ID3D10EffectVariable_AsVector 11 #comfunc global ID3D10EffectVariable_AsMatrix 12 #comfunc global ID3D10EffectVariable_AsString 13 #comfunc global ID3D10EffectVariable_AsShaderResource 14 #comfunc global ID3D10EffectVariable_AsRenderTargetView 15 #comfunc global ID3D10EffectVariable_AsDepthStencilView 16 #comfunc global ID3D10EffectVariable_AsConstantBuffer 17 #comfunc global ID3D10EffectVariable_AsShader 18 #comfunc global ID3D10EffectVariable_AsBlend 19 #comfunc global ID3D10EffectVariable_AsDepthStencil 20 #comfunc global ID3D10EffectVariable_AsRasterizer 21 #comfunc global ID3D10EffectVariable_AsSampler 22 #comfunc global ID3D10EffectVariable_SetRawValue 23 sptr,int,int #comfunc global ID3D10EffectVariable_GetRawValue 24 sptr,int,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ID3D10EffectVariable "{AE897105-00E6-45BF-BB8E-281DD6DB8E1B}" #usecom global ID3D10EffectVariable IID_ID3D10EffectVariable "{}" #comfunc global ID3D10EffectVariable_IsValid 0 #comfunc global ID3D10EffectVariable_GetType 1 #comfunc global ID3D10EffectVariable_GetDesc 2 sptr #comfunc global ID3D10EffectVariable_GetAnnotationByIndex 3 int #comfunc global ID3D10EffectVariable_GetAnnotationByName 4 str #comfunc global ID3D10EffectVariable_GetMemberByIndex 5 int #comfunc global ID3D10EffectVariable_GetMemberByName 6 str #comfunc global ID3D10EffectVariable_GetMemberBySemantic 7 str #comfunc global ID3D10EffectVariable_GetElement 8 int #comfunc global ID3D10EffectVariable_GetParentConstantBuffer 9 #comfunc global ID3D10EffectVariable_AsScalar 10 #comfunc global ID3D10EffectVariable_AsVector 11 #comfunc global ID3D10EffectVariable_AsMatrix 12 #comfunc global ID3D10EffectVariable_AsString 13 #comfunc global ID3D10EffectVariable_AsShaderResource 14 #comfunc global ID3D10EffectVariable_AsRenderTargetView 15 #comfunc global ID3D10EffectVariable_AsDepthStencilView 16 #comfunc global ID3D10EffectVariable_AsConstantBuffer 17 #comfunc global ID3D10EffectVariable_AsShader 18 #comfunc global ID3D10EffectVariable_AsBlend 19 #comfunc global ID3D10EffectVariable_AsDepthStencil 20 #comfunc global ID3D10EffectVariable_AsRasterizer 21 #comfunc global ID3D10EffectVariable_AsSampler 22 #comfunc global ID3D10EffectVariable_SetRawValue 23 sptr,int,int #comfunc global ID3D10EffectVariable_GetRawValue 24 sptr,int,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。