Partilhar via


D3DXFX [en]

Opções para salvar e criar efeitos.

As constantes na tabela a seguir são definidas em d3dx9effect.h.

Estado de efeito Salvar e restaurar sinalizadores Descrição
D3DXFX_DONOTSAVESTATE Nenhum estado é salvo ao chamar Begin ou restaurado ao chamar End.
D3DXFX_DONOTSAVESAMPLERSTATE Um stateblock salva o estado ao chamar Begin e restaura o estado ao chamar End.
D3DXFX_DONOTSAVESHADERSTATE Um stateblock salva o estado (exceto sombreadores e constantes de sombreador) ao chamar Begin e restaura o estado ao chamar End.
Sinalizadores de criação de efeitos Descrição
D3DXFX_NOT_CLONEABLE O efeito não será clonável e não conterá dados binários de sombreador. GetPassDesc não retornará ponteiros de função de sombreador. Definir esse sinalizador reduz o uso de memória de efeito em cerca de 50% porque elimina a necessidade de o sistema de efeitos manter uma cópia dos sombreadores na memória. Esse sinalizador é usado pelo D3DXCreateEffect, D3DXCreateEffectFromFilee D3DXCreateEffectFromResource.
D3DXFX_LARGEADDRESSAWARE Permite a alocação de um recurso de efeito no espaço de endereço uppder de uma máquina. Uma limitação importante é que você não pode usar cadeias de caracteres e manipuladores de forma intercambiável. Por exemplo, o seguinte não funcionaria mais.
g_pEffect->SetMatrix( "g_mWorldViewProjection", &mWorldViewProjection );

Em vez disso, um método como GetParameterByName deve ser usado para armazenar o identificador do parâmetro, que é usado para passar variáveis para o efeito.

 

As constantes na tabela a seguir não são definidas por padrão e devem ser definidas pelo desenvolvedor.

Efeito do pré-processador #define's Descrição
D3DXFX_LARGEADDRESS_HANDLE Defina esse valor antes de incluir d3dx9.h para que seu aplicativo não seja compilado ao tentar passar cadeias de caracteres para D3DXHANDLE parâmetros. Isso ajudará a garantir que informações válidas estejam sendo passadas para o tempo de execução.
Sinalizadores do Vinculador de Efeito Descrição
LARGE_ADDRESS_AWARE Definir o sinalizador do vinculador LARGE_ADDRESS_AWARE = 1 permitirá que o aplicativo aloque recursos além do limite de endereço de 2 GB quando necessário.

 

O sistema de efeitos usa blocos de estado para salvar e restaurar o estado automaticamente. Para obter mais informações sobre blocos de estado, consulte State Blocks Save and Restore State (Direct3D 9).

constantes de efeito