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


Функция D3DXAssembleShaderFromResource

Соберите шейдер.

Синтаксис

HRESULT D3DXAssembleShaderFromResource(
  _In_        HMODULE       hSrcModule,
  _In_        LPCTSTR       pSrcResource,
  _In_  const D3DXMACRO     *pDefines,
  _In_        LPD3DXINCLUDE pInclude,
  _In_        DWORD         Flags,
  _Out_       LPD3DXBUFFER  *ppShader,
  _Out_       LPD3DXBUFFER  *ppErrorMsgs
);

Параметры

hSrcModule [in]

Тип: HMODULE

Дескриптор модуля, содержащего описание эффекта. Если этот параметр имеет значение NULL, будет использоваться текущий модуль.

pSrcResource [in]

Тип: LPCTSTR

Указатель на строку, указывающую имя ресурса. Если для параметров компилятора требуется Юникод, тип данных LPCTSTR разрешается в LPCWSTR. В противном случае строковый тип данных разрешается в LPCSTR. См. заметки.

pDefines [in]

Тип: const D3DXMACRO*

Необязательный массив структур D3DXMACRO с завершением NULL. Это значение может иметь значение NULL.

pВключение [in]

Тип: LPD3DXINCLUDE

Необязательный указатель интерфейса ID3DXInclude, используемый для обработки директив #include. Если это значение равно NULL, #includes будет учитываться при компиляции из файла или вызвать ошибку при компиляции из ресурса или памяти.

Флаги [в]

Тип: DWORD

Параметры компиляции, определенные различными флагами. Компилятор Direct3D 10 HLSL теперь используется по умолчанию. Дополнительные сведения см. в разделе Флаги D3DXSHADER .

ppShader [out]

Тип: LPD3DXBUFFER*

Возвращает буфер, содержащий созданный шейдер. Этот буфер содержит скомпилированный код шейдера, а также все внедренные сведения об отладке и таблице символов.

ppErrorMsgs [out]

Тип: LPD3DXBUFFER*

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

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

Тип: HRESULT

Если функция выполняется успешно, возвращаемое значение будет D3D_OK. Если функция завершается сбоем, возвращаемое значение может быть одним из следующих: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA E_OUTOFMEMORY.

Комментарии

Параметр компилятора также определяет версию функции. Если определен Юникод, вызов функции разрешается в D3DXAssembleShaderFromResourceW. В противном случае вызов функции разрешается в D3DXAssembleShaderFromResourceA, так как используются строки ANSI.

Требования

Требование Значение
Заголовок
D3DX9Shader.h
Библиотека
D3dx9.lib

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

Функции шейдеров

D3DXCompileShader

D3DXCompileShaderFromResource