Win32 API 日本語リファレンス
ホームGraphics.Direct3D10 › ID3D10EffectPass

ID3D10EffectPass

COM
IID5cfbeb89-1a06-46e0-b282-e3f9bfa36a54自前メソッド開始 vtbl0

公式ドキュメント

パスインターフェイスは、テクニック内のステート割り当てをカプセル化します。

解説(Remarks)

パスは、レンダーステートオブジェクトとシェーダーを設定するコードのブロックです。パスはテクニック内で宣言されます。テクニックの構文については Effect Technique Syntax (Direct3D 10) を参照してください。

エフェクトパスインターフェイスを取得するには、ID3D10EffectTechnique::GetPassByName などのメソッドを呼び出します。

メソッド 9

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 0 BOOL IsValid()

パスが有効な構文を含んでいるかどうかをテストします。

戻り値

型: BOOL

コード構文が有効な場合は TRUE、それ以外の場合は FALSE

vtbl 1 HRESULT GetDesc(D3D10_PASS_DESC* pDesc)

パスの記述を取得します。

pDescD3D10_PASS_DESC*inoutパスの記述へのポインター(D3D10_PASS_DESC を参照)。

戻り値

型: HRESULT

次の Direct3D 10 のリターンコード のいずれかを返します。

解説(Remarks)

パスは、レンダーステートとシェーダー(それらがさらに定数バッファー、サンプラー、テクスチャを設定します)を設定するコードのブロックです。エフェクトのテクニックには1つ以上のパスが含まれます。テクニックとパス を参照してください。

vtbl 2 HRESULT GetVertexShaderDesc(D3D10_PASS_SHADER_DESC* pDesc)

頂点シェーダーの記述を取得します。

pDescD3D10_PASS_SHADER_DESC*inout頂点シェーダーの記述へのポインター(D3D10_PASS_SHADER_DESC を参照)。

戻り値

型: HRESULT

次の Direct3D 10 のリターンコード のいずれかを返します。

解説(Remarks)

エフェクトパスには、レンダーステートの割り当てとシェーダーオブジェクトの割り当てを含めることができます。

vtbl 3 HRESULT GetGeometryShaderDesc(D3D10_PASS_SHADER_DESC* pDesc)

ジオメトリシェーダーの記述を取得します。

pDescD3D10_PASS_SHADER_DESC*inoutジオメトリシェーダーの記述へのポインター(D3D10_PASS_SHADER_DESC を参照)。

戻り値

型: HRESULT

次の Direct3D 10 のリターンコード のいずれかを返します。

解説(Remarks)

エフェクトパスには、レンダーステートの割り当てとシェーダーオブジェクトの割り当てを含めることができます。

vtbl 4 HRESULT GetPixelShaderDesc(D3D10_PASS_SHADER_DESC* pDesc)

ピクセルシェーダーの記述を取得します。

pDescD3D10_PASS_SHADER_DESC*inoutピクセルシェーダーの記述へのポインター(D3D10_PASS_SHADER_DESC を参照)。

戻り値

型: HRESULT

次の Direct3D 10 のリターンコード のいずれかを返します。

解説(Remarks)

エフェクトパスには、レンダーステートの割り当てとシェーダーオブジェクトの割り当てを含めることができます。

vtbl 5 ID3D10EffectVariable* GetAnnotationByIndex(DWORD Index)

ID3D10EffectPass::GetAnnotationByIndex (d3d10effect.h) メソッドは、インデックスによって注釈を取得します。

IndexDWORDin0 から始まるインデックス。

戻り値

型: ID3D10EffectVariable*

ID3D10EffectVariable インターフェイス へのポインター。

vtbl 6 ID3D10EffectVariable* GetAnnotationByName(LPSTR Name)

名前によって注釈を取得します。(ID3D10EffectPass.GetAnnotationByName)

NameLPSTRin注釈の名前。

戻り値

型: ID3D10EffectVariable*

ID3D10EffectVariable インターフェイス へのポインター。

vtbl 7 HRESULT Apply(DWORD Flags)

パスに含まれるステートをデバイスに設定します。

FlagsDWORDin使用されません。

戻り値

型: HRESULT

次の Direct3D 10 のリターンコード のいずれかを返します。

vtbl 8 HRESULT ComputeStateBlockMask(D3D10_STATE_BLOCK_MASK* pStateBlockMask)

ステート変更を許可/禁止するためのマスクを生成します。

pStateBlockMaskD3D10_STATE_BLOCK_MASK*outステートブロックマスクへのポインター(D3D10_STATE_BLOCK_MASK を参照)。

戻り値

型: HRESULT

次の Direct3D 10 のリターンコード のいずれかを返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_ID3D10EffectPass "{5CFBEB89-1A06-46E0-B282-E3F9BFA36A54}"
#usecom global ID3D10EffectPass IID_ID3D10EffectPass "{}"
#comfunc global ID3D10EffectPass_IsValid                0
#comfunc global ID3D10EffectPass_GetDesc                1 var
#comfunc global ID3D10EffectPass_GetVertexShaderDesc    2 var
#comfunc global ID3D10EffectPass_GetGeometryShaderDesc  3 var
#comfunc global ID3D10EffectPass_GetPixelShaderDesc     4 var
#comfunc global ID3D10EffectPass_GetAnnotationByIndex   5 int
#comfunc global ID3D10EffectPass_GetAnnotationByName    6 str
#comfunc global ID3D10EffectPass_Apply                  7 int
#comfunc global ID3D10EffectPass_ComputeStateBlockMask  8 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。