Função D3DXCompileShader

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 D3DXCompileShader(
  _In_        LPCSTR              pSrcData,
  _In_        UINT                srcDataLen,
  _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

pSrcData [in]

Tipo: LPCSTR

Ponteiro para uma cadeia de caracteres que contém o sombreador.

srcDataLen [in]

Tipo: UINT

Comprimento dos dados em bytes.

pDefines [in]

Tipo: const D3DXMACRO*

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

pInclude [in]

Tipo: LPD3DXINCLUDE

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

pFunctionName [in]

Tipo: LPCSTR

Ponteiro para uma cadeia de caracteres que contém o nome da 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 depuração inserida e informações de tabela de símbolos.

ppErrorMsgs [out]

Tipo: LPD3DXBUFFER*

Retorna um buffer que contém uma listagem de erros e avisos 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 um endereço grande (ou seja, você usará a opção do vinculador /LARGEADDRESSAWARE para manipular endereços maiores que 2 GB), não poderá usar esse parâmetro e deve defini-lo como NULL. Em vez disso, você deve usar a função D3DXGetShaderConstantTableEx para recuperar a tabela de sombreador-constante que está 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.

Retornar valor

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

D3DXCompileShaderFromFile

D3DXCompileShaderFromResource