Функция 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 для обработки файлов. Если шейдер содержит #include, это значение равно NULL приведет к ошибке компиляции. Вы можете передать макрос 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 директивы и сохраняет нумерирование строк исходных входных данных, чтобы правильное нумерирование выходных строк было связано с источником входных данных.
Требования
Требование | Ценность |
---|---|
целевая платформа | Виндоус |
заголовка | d3dcompiler.h |
библиотеки |
D3dcompiler_47.lib |
DLL | D3dcompiler_47.dll |