Compartilhar via


Função D3DPreprocess (d3dcompiler.h)

Pré-processa o código HLSL não compilado.

Sintaxe

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
);

Parâmetros

[in] pSrcData

Tipo: LPCVOID

Um ponteiro para dados de sombreador não compilados; código ASCII HLSL ou um efeito compilado.

[in] SrcDataSize

Tipo: SIZE_T

Comprimento de pSrcData.

[in, optional] pSourceName

Tipo: LPCSTR

O nome do arquivo que contém o código HLSL não compilado.

[in, optional] pDefines

Tipo: const D3D_SHADER_MACRO*

Uma matriz de definições de macro terminadas em NULL (consulte D3D_SHADER_MACRO).

[in, optional] pInclude

Tipo: ID3DInclude*

Um ponteiro para um ID3DInclude para lidar com arquivos de inclusão. Definir isso como NULL causará um erro de compilação se um sombreador contiver um #include. Você pode passar a macro D3D_COMPILE_STANDARD_FILE_INCLUDE , que é um ponteiro para um manipulador de inclusão padrão. Esse manipulador de inclusão padrão inclui arquivos relativos ao diretório atual e arquivos relativos ao diretório do arquivo de origem inicial. Ao usar D3D_COMPILE_STANDARD_FILE_INCLUDE, você deve especificar o nome do arquivo de origem no parâmetro pSourceName ; o compilador derivará o diretório relativo inicial do pSourceName.

#define D3D_COMPILE_STANDARD_FILE_INCLUDE ((ID3DInclude*)(UINT_PTR)1)

[out] ppCodeText

Tipo: ID3DBlob**

O endereço de um ID3DBlob que contém o código compilado.

[out, optional] ppErrorMsgs

Tipo: ID3DBlob**

Um ponteiro para um ID3DBlob que contém mensagens de erro do compilador ou NULL se não houver erros.

Valor retornado

Tipo: HRESULT

Retorna um dos códigos de retorno do Direct3D 11.

Comentários

D3DPreprocess gera #line diretivas e preserva a numeração de linha da entrada de origem para que a numeração de linha de saída possa estar corretamente relacionada à fonte de entrada.

Requisitos

   
Plataforma de Destino Windows
Cabeçalho d3dcompiler.h
Biblioteca D3dcompiler_47.lib
DLL D3dcompiler_47.dll

Confira também

Funções