Compartilhar via


Função D3DXCreateEffectEx

Cria um efeito de uma descrição de efeito ASCII ou binário. Essa função é uma versão estendida de D3DXCreateEffect que permite que um aplicativo controle quais parâmetros são ignorados pelo sistema de efeitos.

Sintaxe

HRESULT D3DXCreateEffectEx(
  _In_        LPDIRECT3DDEVICE9 pDevice,
  _In_        LPCVOID           pSrcData,
  _In_        UINT              SrcDataLen,
  _In_  const D3DXMACRO         *pDefines,
  _In_        LPD3DXINCLUDE     pInclude,
  _In_        LPCSTR            pSkipConstants,
  _In_        DWORD             Flags,
  _In_        LPD3DXEFFECTPOOL  pPool,
  _Out_       LPD3DXEFFECT      *ppEffect,
  _Out_       LPD3DXBUFFER      *ppCompilationErrors
);

Parâmetros

pDevice [in]

Tipo: LPDIRECT3DDEVICE9

Ponteiro para o dispositivo que criará o efeito. Consulte IDirect3DDevice9.

pSrcData [in]

Tipo: LPCVOID

Ponteiro para um buffer que contém uma descrição de efeito.

SrcDataLen [in]

Tipo: UINT

Comprimento dos dados de efeito, em bytes.

pDefines [in]

Tipo: const D3DXMACRO*

Uma matriz opcional terminada em NULL de estruturas D3DXMACRO que descrevem definições de pré-processador. 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 causará um erro quando compilado de um recurso ou memória.

pSkipConstants [in]

Tipo: LPCSTR

Uma cadeia de caracteres de parâmetros de efeito que será ignorada pelo sistema de efeito. A cadeia de caracteres deve ser terminada em NULL e precisa conter o nome de cada constante gerenciada pelo aplicativo separada por ponto e vírgula.

Sinalizadores [in]

Tipo: DWORD

Se pSrcData contiver um efeito de texto, os sinalizadores poderão ser uma combinação de sinalizadores D3DXSHADER e sinalizadores D3DXFX ; caso contrário, pSrcData contém um efeito binário e os únicos sinalizadores respeitados são sinalizadores D3DXFX. O compilador HLSL do Direct3D 10 agora é o padrão. Consulte Effect-Compiler Tool para obter detalhes.

pPool [in]

Tipo: LPD3DXEFFECTPOOL

Ponteiro para um objeto ID3DXEffectPool a ser usado para parâmetros compartilhados. Se esse valor for NULL, nenhum parâmetro será compartilhado.

ppEffect [out]

Tipo: LPD3DXEFFECT*

Retorna um ponteiro para uma interface ID3DXEffect .

ppCompilationErrors [out]

Tipo: LPD3DXBUFFER*

Retorna um buffer que contém uma lista de erros de compilação.

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.

Comentários

Essa função é uma versão estendida de D3DXCreateEffect que permite que um aplicativo especifique quais constantes de efeito serão gerenciadas pelo aplicativo. Uma constante gerenciada pelo aplicativo é ignorada pelo sistema de efeitos. Ou seja, o aplicativo é responsável por inicializar a constante, bem como salvar e restaurar seu estado sempre que apropriado.

Essa função verifica cada constante em pSkipConstants para ver que:

  • Ele está associado a um registro constante.
  • Ele só é usado no código do sombreador HLSL.

Se uma constante for nomeada na cadeia de caracteres que não está presente no efeito, ela será ignorada.

Requisitos

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

Confira também

Funções de efeito

D3DXCreateEffectFromFileEx

D3DXCreateEffectFromResourceEx