Функция D3DX10CompileFromResource

Примечание

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

Компиляция шейдера или воздействия ресурса.

Синтаксис

HRESULT D3DX10CompileFromResource(
  _In_        HMODULE            hSrcModule,
  _In_        LPCTSTR            pSrcResource,
  _In_        LPCTSTR            pSrcFileName,
  _In_  const D3D_SHADER_MACRO *pDefines,
  _In_        LPD3D10INCLUDE     pInclude,
  _In_        LPCSTR             pFunctionName,
  _In_        LPCSTR             pProfile,
  _In_        UINT               Flags1,
  _In_        UINT               Flags2,
  _In_        ID3DX10ThreadPump  *pPump,
  _Out_       ID3D10Blob         **ppShader,
  _Out_       ID3D10Blob         **ppErrorMsgs,
  _Out_       HRESULT            *pHResult
);

Параметры

хсркмодуле [ окне]

Тип: хмодуле

Обработчик для модуля ресурсов, содержащего шейдер. ХМОДУЛЕ можно получить с помощью функции ошибка GetModuleHandle.

псркресаурце [ окне]

Тип: LPCTSTR

Имя ресурса, содержащего шейдер. Если для параметров компилятора требуется Юникод, тип данных LPCTSTR разрешается в ЛПКВСТР. В противном случае тип данных разрешается в LPCSTR.

псркфиленаме [ окне]

Тип: LPCTSTR

Необязательный элемент. Имя файла эффектов, которое используется только для сообщений об ошибках. Может иметь значение NULL.

пдефинес [ окне]

Тип: неконстантный * _ _ макрос шейдера D3D

Необязательный элемент. Указатель на массив определений макросов (см. _ _ макрос D3D Shader). Последняя структура в массиве выступает в качестве признака конца, и все члены должны иметь значение 0. Если не используется, задайте для Пдефинес значение NULL.

пинклуде [ окне]

Тип: LPD3D10INCLUDE

Необязательный элемент. Указатель на интерфейс интерфейса ID3D10Include для обработки включаемых файлов. Установка значения NULL приведет к ошибке компиляции, если шейдер содержит # include.

пфунктионнаме [ окне]

Тип: LPCSTR

Имя функции-точки входа шейдера, где начинается выполнение шейдера. При компиляции результата D3DX10CompileFromResource игнорирует пфунктионнаме; рекомендуется установить пфунктионнаме в значение NULL , так как рекомендуется установить параметр указателя равным null , если вызываемая функция не будет ее использовать.

ппрофиле [ окне]

Тип: LPCSTR

Строка, указывающая модель шейдера; может быть любым профилем в шейдере Model 2, Shader Model 3или Shader Model 4.

Flags1 [ окне]

Тип: uint

Флаги компиляции шейдера.

Flags2 [ окне]

Тип: uint

Флаги компиляции эффектов. При компиляции шейдера, а не файла эффектов D3DX10CompileFromResource игнорирует Flags2. рекомендуется установить Flags2 в нулевое значение, так как рекомендуется установить неуказательный параметр в нуль, если вызываемая функция не будет ее использовать.

ппумп [ окне]

Тип: ID3DX10ThreadPump*

Указатель на интерфейсный конвейер потока (см. интерфейс ID3DX10ThreadPump). Используйте null , чтобы указать, что эта функция не должна возвращать значение до ее завершения.

ппшадер [ заполняет]

Тип: ID3D10Blob**

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

пперрормсгс [ заполняет]

Тип: ID3D10Blob**

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

фресулт [ заполняет]

Тип: HRESULT*

Указатель на возвращаемое значение. Может иметь значение NULL. Если ппумп не равно NULL, то фресулт должен быть допустимым расположением в памяти до завершения асинхронного выполнения.

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

Тип: HRESULT

Возвращаемое значение является одним из значений, перечисленных в кодах возврата Direct3D 10.

Requirements (Требования)

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

См. также

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