Função D3DCompileFromFile (d3dcompiler.h)
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
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | d3dcompiler.h |
Biblioteca | D3DCompiler.lib |
DLL | D3DCompiler_47.dll |