ID3D11ShaderReflectionVariable::GetInterfaceSlot メソッド (d3d11shader.h)
インターフェイス ポインターを表す変数の対応するインターフェイス スロットを取得します。
構文
UINT GetInterfaceSlot(
[in] UINT uArrayIndex
);
パラメーター
[in] uArrayIndex
型: UINT
スロット番号を取得する配列要素のインデックス。 配列以外の変数の場合、この値は 0 になります。
戻り値
型: UINT
インターフェイス配列内のインターフェイスのインデックスを返します。
注釈
GetInterfaceSlot は、インターフェイス インスタンスの動的リンケージ配列内の対応するスロットを取得します。 返されたスロット番号は、インターフェイス インスタンスを特定のクラス インスタンスに設定するために使用されます。 詳細については、「HLSL インターフェイスとクラス の概要」を参照してください。
このメソッドのインターフェイスは、すぐに使用できない DLL D3DCompiler_xx.dll でホストされます。
例
インターフェイス スロットの取得と使用
ID3D11ShaderReflectionVariable* pAmbientLightingVar = pReflector->GetVariableByName("g_abstractAmbientLighting");
g_iAmbientLightingOffset = pAmbientLightingVar->GetInterfaceSlot(0);
g_pPSClassLinkage->GetClassInstance( "g_hemiAmbientLight", 0, &g_pHemiAmbientLightClass );
g_dynamicLinkageArray[g_iAmbientLightingOffset] = g_pHemiAmbientLightClass;
...
pd3dImmediateContext->PSSetShader( g_pPixelShader, g_dynamicLinkageArray, g_iNumPSInterfaces );
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | d3d11shader.h |
Library | D3DCompiler.lib |
[DLL] | D3DCompiler_47.dll |