Compartilhar via


Função D3DXCreateEffectFromResourceEx

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

Sintaxe

HRESULT D3DXCreateEffectFromResourceEx(
  _In_        LPDIRECT3DDEVICE9 pDevice,
  _In_        HMODULE           hSrcModule,
  _In_        LPCTSTR           pSrcResource,
  _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.

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: LPCTSTR

Ponteiro para o recurso. Esse parâmetro dá suporte a cadeias de caracteres Unicode e ANSI. Consulte Observações.

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 pSrcResource contiver um efeito de texto, os sinalizadores poderão ser uma combinação de sinalizadores D3DXSHADER e sinalizadores D3DXFX ; caso contrário, pSrcResource 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 buffer que contém o efeito compilado.

ppCompilationErrors [out]

Tipo: LPD3DXBUFFER*

Retorna um buffer que contém uma listagem 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 D3DXCreateEffectFromResource 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.

Se as configurações do compilador exigirem Unicode, o tipo de dados LPCTSTR será resolvido para LPCWSTR. Caso contrário, o tipo de dados LPCTSTR será resolvido para LPCSTR.

A configuração do compilador também determina a versão da função. Se Unicode for definido, a chamada de função será resolvida para D3DXCreateEffectFromResourceW. Caso contrário, a chamada de função será resolvida para D3DXCreateEffectFromResourceA porque cadeias de caracteres ANSI estão sendo usadas.

D3DXCreateEffectFromResource carrega dados de um recurso do tipo RT_RCDATA. Consulte MSDN para obter mais informações sobre recursos do Windows.

Requisitos

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

Confira também

Funções de efeito

D3DXCreateEffectEx

D3DXCreateEffectFromFileEx