Compartilhar via


Função D3DXCompileShaderFromResource

Compile um arquivo de sombreador.

Observação

Em vez de usar essa função herdada, recomendamos que você compile offline usando o compilador de linha de comando Fxc.exe ou use a API D3DCompile .

 

Sintaxe

HRESULT D3DXCompileShaderFromResource(
  _In_        HMODULE             hSrcModule,
  _In_        LPCSTR              pSrcResource,
  _In_  const D3DXMACRO           *pDefines,
  _In_        LPD3DXINCLUDE       pInclude,
  _In_        LPCSTR              pFunctionName,
  _In_        LPCSTR              pProfile,
  _In_        DWORD               Flags,
  _Out_       LPD3DXBUFFER        *ppShader,
  _Out_       LPD3DXBUFFER        *ppErrorMsgs,
  _Out_       LPD3DXCONSTANTTABLE *ppConstantTable
);

Parâmetros

hSrcModule [in]

Tipo: HMODULE

Manipule para um módulo que contém a descrição do efeito. Se esse parâmetro for NULL, o módulo atual será usado.

pSrcResource [in]

Tipo: LPCSTR

Ponteiro para uma cadeia de caracteres que especifica o nome do recurso.

pDefines [in]

Tipo: const D3DXMACRO*

Uma matriz opcional terminada em NULL de estruturas D3DXMACRO . Esse valor pode ser NULL.

pInclude [in]

Tipo: LPD3DXINCLUDE

Ponteiro de interface opcional, ID3DXInclude, a ser usado para lidar com diretivas de #include. Se esse valor for NULL, #includes será respeitado ao compilar de um arquivo ou ocorrerá um erro quando compilado de um recurso ou memória.

pFunctionName [in]

Tipo: LPCSTR

Ponteiro para a função de ponto de entrada do sombreador em que a execução começa.

pProfile [in]

Tipo: LPCSTR

Ponteiro para um perfil de sombreador que determina o conjunto de instruções do sombreador. Consulte D3DXGetVertexShaderProfile ou D3DXGetPixelShaderProfile para obter uma lista dos perfis disponíveis.

Sinalizadores [in]

Tipo: DWORD

Compile opções identificadas por vários sinalizadores. O compilador HLSL do Direct3D 10 agora é o padrão. Consulte Sinalizadores D3DXSHADER para obter detalhes.

ppShader [out]

Tipo: LPD3DXBUFFER*

Retorna um buffer que contém o sombreador criado. Esse buffer contém o código do sombreador compilado, bem como qualquer informação de tabela de símbolo e depuração inserida.

ppErrorMsgs [out]

Tipo: LPD3DXBUFFER*

Retorna um buffer que contém uma listagem de erros e avisos que foram encontrados durante a compilação. Essas são as mesmas mensagens que o depurador exibe ao executar no modo de depuração. Esse valor pode ser NULL.

ppConstantTable [out]

Tipo: LPD3DXCONSTANTTABLE*

Retorna uma interface ID3DXConstantTable , que pode ser usada para acessar constantes de sombreador. Esse valor pode ser NULL. Se você compilar seu aplicativo como reconhecimento de endereço grande (ou seja, usar a opção do vinculador /LARGEADDRESSAWARE para lidar com endereços maiores que 2 GB), não poderá usar esse parâmetro e deverá defini-lo como NULL. Em vez disso, você deve usar a função D3DXGetShaderConstantTableEx para recuperar a tabela de constante de sombreador inserida dentro do sombreador. Nesta chamada D3DXGetShaderConstantTableEx , você deve passar o sinalizador D3DXCONSTTABLE_LARGEADDRESSAWARE para o parâmetro Flags para especificar para acessar até 4 GB de espaço de endereço virtual.

Valor retornado

Tipo: HRESULT

Se a função for bem-sucedida, o valor retornado será D3D_OK. Se a função falhar, o valor retornado poderá ser um dos seguintes: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA E_OUTOFMEMORY.

Requisitos

Requisito Valor
parâmetro
D3DX9Shader.h
Biblioteca
D3dx9.lib

Confira também

Funções de sombreador

D3DXCompileShader

D3DXCompileShaderFromFile