Функция D3DX10CompileFromFile

Примечание

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

 

Скомпилируйте шейдер или эффект из файла.

Синтаксис

HRESULT D3DX10CompileFromFile(
  _In_        LPCTSTR            pSrcFile,
  _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
);

Параметры

pSrcFile [in]

Тип: LPCTSTR

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

pDefines [in]

Тип: const D3D_SHADER_MACRO*

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

pInclude [in]

Тип: LPD3D10INCLUDE

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

pFunctionName [in]

Тип: LPCSTR

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

pProfile [in]

Тип: LPCSTR

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

Flags1 [in]

Тип: UINT

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

Flags2 [in]

Тип: UINT

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

pPump [in]

Тип: ID3DX10ThreadPump*

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

ppShader [out]

Тип: ID3D10Blob**

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

ppErrorMsgs [out]

Тип: ID3D10Blob**

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

pHResult [out]

Тип: HRESULT*

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

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

Тип: HRESULT

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

Remarks

Требования

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

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

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