Поделиться через


Функция 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

См. также

Функции