Функция D3DCompileFromFile (d3dcompiler.h)
Синтаксис
HRESULT D3DCompileFromFile(
[in] LPCWSTR pFileName,
[in, optional] const D3D_SHADER_MACRO *pDefines,
[in, optional] ID3DInclude *pInclude,
[in] LPCSTR pEntrypoint,
[in] LPCSTR pTarget,
[in] UINT Flags1,
[in] UINT Flags2,
[out] ID3DBlob **ppCode,
[out, optional] ID3DBlob **ppErrorMsgs
);
Параметры
[in] pFileName
Указатель на константную строку, завершающуюся нулевым значением, которая содержит имя файла, содержащего код шейдера.
[in, optional] pDefines
Необязательный массив D3D_SHADER_MACRO структур, определяющих макросы шейдеров. Каждое определение макроса содержит имя и определение, завершаемое пустым значением. Если не используется, задайте значение NULL. Последняя структура в массиве выступает в качестве признака конца и должна иметь значение NULL для всех членов.
[in, optional] pInclude
Необязательный указатель на интерфейс ID3DInclude , используемый компилятором для обработки включаемого файла. Если для этого параметра задано значение NULL , а шейдер содержит #include, возникает ошибка компиляции. Можно передать макрос D3D_COMPILE_STANDARD_FILE_INCLUDE , который является указателем на обработчик включения по умолчанию. Этот обработчик включения по умолчанию включает файлы, относящиеся к текущему каталогу.
#define D3D_COMPILE_STANDARD_FILE_INCLUDE ((ID3DInclude*)(UINT_PTR)1)
[in] pEntrypoint
Указатель на константную строку, завершающуюся null, которая содержит имя функции точки входа шейдера, с которой начинается выполнение шейдера. При компиляции эффекта D3DCompileFromFile игнорирует pEntrypoint; Рекомендуется задать для pEntrypoint значение NULL , так как рекомендуется задать для параметра указателя значение NULL , если вызываемая функция не будет его использовать.
[in] pTarget
Указатель на константную строку, завершающуюся нулевым значением, которая указывает целевой объект шейдера или набор компонентов шейдера для компиляции. Целевым объектом шейдера может быть модель шейдера (например, модель шейдера 2, модель шейдера 3, модель шейдера 4 или модель шейдера 5 и более поздних версий). Целевой объект также может быть типом эффекта (например, fx_4_1). Сведения о целевых объектах, которые поддерживаются различными профилями, см. в разделе Указание целевых объектов компилятора.
[in] Flags1
Сочетание параметров компиляции шейдера, объединенных с помощью побитовой операции OR . Полученное значение указывает, как компилятор компилирует код HLSL.
[in] Flags2
Сочетание параметров компиляции эффекта, объединенных с помощью побитовой операции ИЛИ . Полученное значение указывает, как компилятор компилирует эффект. При компиляции шейдера, а не файла эффекта , D3DCompileFromFile игнорирует Flags2; Рекомендуется задать для параметра Flags2 значение 0, так как рекомендуется задать для параметра, не являющегося указателем, равным нулю, если вызываемая функция не будет использовать его.
[out] ppCode
Указатель на переменную, получающую указатель на интерфейс ID3DBlob , который можно использовать для доступа к скомпилированному коду.
[out, optional] ppErrorMsgs
Необязательный указатель на переменную, получающую указатель на интерфейс ID3DBlob , который можно использовать для доступа к сообщениям об ошибках компилятора, или NULL , если ошибок нет.
Возвращаемое значение
Возвращает один из кодов возврата Direct3D 11.
Комментарии
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | d3dcompiler.h |
Библиотека | D3DCompiler.lib |
DLL | D3DCompiler_47.dll |