Функция D3DXPreprocessShaderFromFile

Предварительная обработка файла шейдера без выполнения компиляции. Это разрешает все #defines и #includes, предоставляя автономный шейдер для последующей компиляции.

Примечание

Вместо использования этой устаревшей функции рекомендуется использовать API D3DPreprocess .

 

Синтаксис

HRESULT D3DXPreprocessShaderFromFile(
  _In_        LPCSTR        pSrcFile,
  _In_  const D3DXMACRO     *pDefines,
  _In_        LPD3DXINCLUDE pInclude,
  _Out_       LPD3DXBUFFER  *ppShaderText,
  _Out_       LPD3DXBUFFER  *ppErrorMsgs
);

Параметры

pSrcFile [in]

Тип: LPCSTR

Указатель на строку, указывающую имя файла шейдера.

pDefines [in]

Тип: const D3DXMACRO*

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

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

Тип: LPD3DXINCLUDE

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

ppShaderText [out]

Тип: LPD3DXBUFFER*

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

ppErrorMsgs [out]

Тип: LPD3DXBUFFER*

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

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

Тип: HRESULT

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

Требования

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

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

Функции шейдера

D3DXPreprocessShader

D3DXPreprocessShaderFromResource