Método ID3D11ShaderReflectionVariable::GetInterfaceSlot (d3d11shader.h)
Obtém o slot de interface correspondente para uma variável que representa um ponteiro de interface.
Sintaxe
UINT GetInterfaceSlot(
[in] UINT uArrayIndex
);
Parâmetros
[in] uArrayIndex
Tipo: UINT
Índice do elemento de matriz para o qual obter o número do slot. Para uma variável não matriz, esse valor será zero.
Retornar valor
Tipo: UINT
Retorna o índice da interface na matriz de interface.
Comentários
GetInterfaceSlot obtém o slot correspondente em uma matriz de vinculação dinâmica para uma instância de interface. O número de slot retornado é usado para definir uma instância de interface para uma instância de classe específica. Consulte a Visão geral de interfaces e classes HLSL para obter informações adicionais.
A interface desse método é hospedada na D3DCompiler_xx.dll de DLL pronta para uso.
Exemplos
Recuperando e usando um slot de interface
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 );
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | d3d11shader.h |
Biblioteca | D3DCompiler.lib |
DLL | D3DCompiler_47.dll |