Функция D3DPreprocess (d3dcompiler.h)
Предварительная обработка некомпилированного кода HLSL.
Синтаксис
HRESULT D3DPreprocess(
[in] LPCVOID pSrcData,
[in] SIZE_T SrcDataSize,
[in, optional] LPCSTR pSourceName,
[in, optional] const D3D_SHADER_MACRO *pDefines,
[in, optional] ID3DInclude *pInclude,
[out] ID3DBlob **ppCodeText,
[out, optional] ID3DBlob **ppErrorMsgs
);
Параметры
[in] pSrcData
Тип: LPCVOID
Указатель на некомпилированные данные шейдера; код ASCII HLSL или скомпилированный эффект.
[in] SrcDataSize
Тип: SIZE_T
Длина pSrcData.
[in, optional] pSourceName
Тип: LPCSTR
Имя файла, содержащего некомпилированный код HLSL.
[in, optional] pDefines
Тип: const D3D_SHADER_MACRO*
Массив определений макросов, завершаемых значением NULL (см . D3D_SHADER_MACRO).
[in, optional] pInclude
Тип: ID3DInclude*
Указатель на ID3DInclude для обработки включаемого файла. Установка значения NULL приведет к ошибке компиляции, если шейдер содержит #include. Вы можете передать макрос D3D_COMPILE_STANDARD_FILE_INCLUDE , который является указателем на обработчик включения по умолчанию. Этот обработчик включения по умолчанию включает файлы, относящиеся к текущему каталогу, и файлы, относящиеся к каталогу исходного исходного файла. При использовании D3D_COMPILE_STANDARD_FILE_INCLUDE необходимо указать имя исходного файла в параметре pSourceName ; компилятор наследует исходный относительный каталог от pSourceName.
#define D3D_COMPILE_STANDARD_FILE_INCLUDE ((ID3DInclude*)(UINT_PTR)1)
[out] ppCodeText
Тип: ID3DBlob**
Адрес объекта ID3DBlob , содержащего скомпилированный код.
[out, optional] ppErrorMsgs
Тип: ID3DBlob**
Указатель на id3DBlob , содержащий сообщения об ошибках компилятора, или значение NULL , если ошибок не было.
Возвращаемое значение
Тип: HRESULT
Возвращает один из кодов возврата Direct3D 11.
Комментарии
D3DPreprocess выводит директивы #line и сохраняет нумеровку строк исходных входных данных, чтобы нумеровать выходные строки можно было должным образом связаны с источником входных данных.
Требования
Целевая платформа | Windows |
Header | d3dcompiler.h |
Библиотека | D3dcompiler_47.lib |
DLL | D3dcompiler_47.dll |