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

ID3D10EffectShaderVariable

COM
IID80849279-c799-4797-8c33-0407a07d9e06継承元ID3D10EffectVariable自前メソッド開始 vtbl25

公式ドキュメント

シェーダー変数インターフェイスは、シェーダー変数にアクセスします。

メソッド 6

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

vtbl 25 HRESULT GetShaderDesc(DWORD ShaderIndex, D3D10_EFFECT_SHADER_DESC* pDesc)

シェーダーの記述を取得します。(ID3D10EffectShaderVariable.GetShaderDesc)

ShaderIndexDWORDin0 から始まるインデックス。
pDescD3D10_EFFECT_SHADER_DESC*outシェーダーの記述へのポインター(D3D10_EFFECT_SHADER_DESC を参照)。

戻り値

Type: HRESULT

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

vtbl 26 HRESULT GetVertexShader(DWORD ShaderIndex, ID3D10VertexShader** ppVS)

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

ShaderIndexDWORDin0 から始まるインデックス。
ppVSID3D10VertexShader**outID3D10VertexShader インターフェイス へのポインター。

戻り値

Type: HRESULT

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

vtbl 27 HRESULT GetGeometryShader(DWORD ShaderIndex, ID3D10GeometryShader** ppGS)

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

ShaderIndexDWORDin0 から始まるインデックス。
ppGSID3D10GeometryShader**outID3D10GeometryShader インターフェイス へのポインター。

戻り値

Type: HRESULT

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

vtbl 28 HRESULT GetPixelShader(DWORD ShaderIndex, ID3D10PixelShader** ppPS)

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

ShaderIndexDWORDin0 から始まるインデックス。
ppPSID3D10PixelShader**outID3D10PixelShader インターフェイス へのポインター。

戻り値

Type: HRESULT

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

vtbl 29 HRESULT GetInputSignatureElementDesc(DWORD ShaderIndex, DWORD Element, D3D10_SIGNATURE_PARAMETER_DESC* pDesc)

入力シグネチャの記述を取得します。

ShaderIndexDWORDin0 から始まるシェーダーインデックス。
ElementDWORDin0 から始まるシェーダー要素インデックス。
pDescD3D10_SIGNATURE_PARAMETER_DESC*outパラメーターの記述へのポインター(D3D10_SIGNATURE_PARAMETER_DESC を参照)。

戻り値

Type: HRESULT

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

解説(Remarks)

エフェクトには 1 つ以上のシェーダーが含まれます。各シェーダーには入力シグネチャと出力シグネチャがあり、各シグネチャには 1 つ以上の要素(またはパラメーター)が含まれます。シェーダーインデックスはシェーダーを識別し、要素インデックスはシェーダーシグネチャ内の要素(またはパラメーター)を識別します。

vtbl 30 HRESULT GetOutputSignatureElementDesc(DWORD ShaderIndex, DWORD Element, D3D10_SIGNATURE_PARAMETER_DESC* pDesc)

出力シグネチャの記述を取得します。

ShaderIndexDWORDin0 から始まるシェーダーインデックス。
ElementDWORDin0 から始まる要素インデックス。
pDescD3D10_SIGNATURE_PARAMETER_DESC*outパラメーターの記述へのポインター(D3D10_SIGNATURE_PARAMETER_DESC を参照)。

戻り値

Type: HRESULT

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

解説(Remarks)

エフェクトには 1 つ以上のシェーダーが含まれます。各シェーダーには入力シグネチャと出力シグネチャがあり、各シグネチャには 1 つ以上の要素(またはパラメーター)が含まれます。シェーダーインデックスはシェーダーを識別し、要素インデックスはシェーダーシグネチャ内の要素(またはパラメーター)を識別します。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_ID3D10EffectShaderVariable "{80849279-C799-4797-8C33-0407A07D9E06}"
#usecom global ID3D10EffectShaderVariable IID_ID3D10EffectShaderVariable "{}"
#comfunc global ID3D10EffectShaderVariable_GetShaderDesc                  25 int,var
#comfunc global ID3D10EffectShaderVariable_GetVertexShader                26 int,sptr
#comfunc global ID3D10EffectShaderVariable_GetGeometryShader              27 int,sptr
#comfunc global ID3D10EffectShaderVariable_GetPixelShader                 28 int,sptr
#comfunc global ID3D10EffectShaderVariable_GetInputSignatureElementDesc   29 int,int,var
#comfunc global ID3D10EffectShaderVariable_GetOutputSignatureElementDesc  30 int,int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。