Метод ID3D11ShaderReflectionVariable::GetInterfaceSlot (d3d11shader.h)
Возвращает соответствующий слот интерфейса для переменной, представляющей указатель интерфейса.
Синтаксис
UINT GetInterfaceSlot(
[in] UINT uArrayIndex
);
Параметры
[in] uArrayIndex
Тип: UINT
Индекс элемента массива для получения номера слота. Для переменной, отличной от массива, это значение будет равно нулю.
Возвращаемое значение
Тип: 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 |
Header | d3d11shader.h |
Библиотека | D3DCompiler.lib |
DLL | D3DCompiler_47.dll |