Compartilhar via


Função D3DPreprocess (d3dcompiler.h)

Pré-processa 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 manipulação de arquivos incluem. 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 de pSourceName.

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

[out] ppCodeText

Tipo: ** ID3DBlob

Um ponteiro para uma variável que recebe um ponteiro para a interface de ID3DBlob que você pode usar para acessar o código pré-processado.

[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 de retorno

Tipo: HRESULT

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

Observações

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

Requisitos

Requisito Valor
da Plataforma de Destino Windows
cabeçalho d3dcompiler.h
biblioteca D3dcompiler_47.lib
de DLL D3dcompiler_47.dll

Consulte também

Funções