Metodo ID3D11ShaderReflectionVariable::GetInterfaceSlot (d3d11shader.h)
Ottiene lo slot di interfaccia corrispondente per una variabile che rappresenta un puntatore all'interfaccia.
Sintassi
UINT GetInterfaceSlot(
[in] UINT uArrayIndex
);
Parametri
[in] uArrayIndex
Tipo: UINT
Indice dell'elemento della matrice per cui ottenere il numero di slot. Per una variabile non di matrice questo valore sarà zero.
Valore restituito
Tipo: UINT
Restituisce l'indice dell'interfaccia nella matrice di interfacce.
Commenti
GetInterfaceSlot ottiene lo slot corrispondente in una matrice di collegamento dinamico per un'istanza dell'interfaccia. Il numero di slot restituito viene usato per impostare un'istanza dell'interfaccia su una determinata istanza di classe. Per altre informazioni, vedere La panoramica delle interfacce e delle classi HLSL.
L'interfaccia di questo metodo è ospitata nella DLL predefinita D3DCompiler_xx.dll.
Esempio
Recupero e uso di uno slot di interfaccia
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 );
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | d3d11shader.h |
Libreria | D3DCompiler.lib |
DLL | D3DCompiler_47.dll |