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 |
|
Biblioteca |
|
Confira também