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