Поделиться через


Функция D3DX10ReflectShader

Эта функция, которая создает объект отражения шейдера для получения сведений о скомпилированном шейдере, больше не существует. Вместо этого используйте D3DReflect или D3D11Reflect.

Синтаксис

HRESULT D3DX10ReflectShader(
  _In_  const void                    *pShaderBytecode,
  _In_        SIZE_T                  BytecodeLength,
  _Out_       ID3D10ShaderReflection1 **ppReflector
);

Параметры

pShaderBytecode [in]

Тип: const void*

Указатель на скомпилированный шейдер. Чтобы получить этот указатель, см. статью Получение указателя на скомпилированный шейдер.

BytecodeLength [in]

Тип: SIZE_T

Длина pShaderBytecode.

ppReflector [out]

Тип: ID3D10ShaderReflection1**

Адрес интерфейса отражения шейдера (см . ID3D10ShaderReflection1 Interface.)

Возвращаемое значение

Тип: HRESULT

Возвращает один из следующих кодов возврата Direct3D 10.

Комментарии

Ниже приведен пример создания объекта отражения шейдера. В примере предполагается, что вы начинаете с скомпилированного шейдера (показано как

pVSBuf

который можно увидеть в примере HLSLWithoutFX10).

ID3D10ShaderReflection1* pIShaderReflection1 = NULL;
D3D10_SHADER_DESC desc;
hr = D3D10ReflectShader( (void*) pVSBuf->GetBufferPointer(), pVSBuf->GetBufferSize(),
    &pIShaderReflection1 );
if( pIShaderReflection1 )
{
    pIShaderReflection1->GetDesc( &desc );
}

Требования

Требование Значение
Заголовок
D3DX10Core.h

См. также раздел

Функции общего назначения