Compartilhar via


Função D3DCompileFromFile (d3dcompiler.h)

Nota Você pode usar essa API para desenvolver seus aplicativos da Windows Store, mas não pode usá-la em aplicativos que você envia para a Windows Store. Consulte a seção "Compilando sombreadores para UWP", nos comentários de D3DCompile2.
 
Compila o código HLSL (Linguagem de Sombreador de Alto Nível) da Microsoft em código de bytes para um determinado destino.

Sintaxe

HRESULT D3DCompileFromFile(
  [in]            LPCWSTR                pFileName,
  [in, optional]  const D3D_SHADER_MACRO *pDefines,
  [in, optional]  ID3DInclude            *pInclude,
  [in]            LPCSTR                 pEntrypoint,
  [in]            LPCSTR                 pTarget,
  [in]            UINT                   Flags1,
  [in]            UINT                   Flags2,
  [out]           ID3DBlob               **ppCode,
  [out, optional] ID3DBlob               **ppErrorMsgs
);

Parâmetros

[in] pFileName

Um ponteiro para uma cadeia de caracteres terminada em nulo constante que contém o nome do arquivo que contém o código do sombreador.

[in, optional] pDefines

Uma matriz opcional de estruturas D3D_SHADER_MACRO que definem macros de sombreador. Cada definição de macro contém um nome e uma definição terminada em nulo. Se não for usado, defina como NULL. A última estrutura na matriz serve como um terminador e deve ter todos os membros definidos como NULL.

[in, optional] pInclude

Um ponteiro opcional para uma interface ID3DInclude que o compilador usa para manipular arquivos de inclusão. Se você definir esse parâmetro como NULL e o sombreador contiver um #include, ocorrerá um erro de compilação. 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.

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

[in] pEntrypoint

Um ponteiro para uma cadeia de caracteres terminada em nulo constante que contém o nome da função de ponto de entrada do sombreador em que a execução do sombreador começa. Quando você compila um efeito, D3DCompileFromFile ignora pEntrypoint; Recomendamos que você defina pEntrypoint como NULL porque é uma boa prática de programação definir um parâmetro de ponteiro como NULL se a função chamada não o usar.

[in] pTarget

Um ponteiro para uma cadeia de caracteres terminada em nulo constante que especifica o destino do sombreador ou o conjunto de recursos de sombreador para compilação. O destino do sombreador pode ser um modelo de sombreador (por exemplo, modelo de sombreador 2, modelo de sombreador 3, modelo de sombreador 4 ou modelo de sombreador 5 e posterior). O destino também pode ser um tipo de efeito (por exemplo, fx_4_1). Para obter informações sobre os destinos aos quais vários perfis dão suporte, consulte Especificando destinos do compilador.

[in] Flags1

Uma combinação de opções de compilação de sombreador combinadas usando uma operação OR bit a bit. O valor resultante especifica como o compilador compila o código HLSL.

[in] Flags2

Uma combinação de opções de compilação de efeito que são combinadas usando uma operação OR bit a bit. O valor resultante especifica como o compilador compila o efeito. Quando você compila um sombreador e não um arquivo de efeito, D3DCompileFromFile ignora Flags2; Recomendamos que você defina Flags2 como zero porque é uma boa prática de programação definir um parâmetro não pontudo como zero se a função chamada não o usar.

[out] ppCode

Um ponteiro para uma variável que recebe um ponteiro para a interface ID3DBlob que você pode usar para acessar o código compilado.

[out, optional] ppErrorMsgs

Um ponteiro opcional para uma variável que recebe um ponteiro para a interface ID3DBlob que você pode usar para acessar mensagens de erro do compilador ou NULL se não houver erros.

Retornar valor

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

Comentários

Nota A versão D3dcompiler_44.dll ou posterior do arquivo contém a função do compilador D3DCompileFromFile .
 

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho d3dcompiler.h
Biblioteca D3DCompiler.lib
DLL D3DCompiler_47.dll

Confira também

Funções