Compartilhar via


D3DXFX

Opções para salvar e criar efeitos.

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

Sinalizadores de salvamento e restauração de estado de efeito Descrição
D3DXFX_DONOTSAVESTATE Nenhum estado é salvo ao chamar Begin ou restaurado ao chamar End.
D3DXFX_DONOTSAVESAMPLERSTATE Um bloco de estado salva o estado ao chamar Begin e restaura o estado ao chamar End.
D3DXFX_DONOTSAVESHADERSTATE Um bloco de estado salva o estado (exceto sombreadores e constantes de sombreador) ao chamar Begin e restaura o estado ao chamar End.
Sinalizadores de criação de efeito Descrição
D3DXFX_NOT_CLONEABLE O efeito será não 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 efeito manter uma cópia dos sombreadores na memória. Esse sinalizador é usado por D3DXCreateEffect, D3DXCreateEffectFromFile e D3DXCreateEffectFromResource.
D3DXFX_LARGEADDRESSAWARE Habilita a alocação de um recurso de efeito no espaço de endereço uppder de um computador. Uma limitação importante é que você não pode usar cadeias de caracteres e manipula 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 é então 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.

Afetar #define do pré-processador Descrição
D3DXFX_LARGEADDRESS_HANDLE Defina esse valor antes de incluir d3dx9.h para que seu aplicativo não compile ao tentar passar cadeias de caracteres para parâmetros D3DXHANDLE. Isso ajudará a garantir que as informações válidas sejam passadas para o runtime.
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 efeito usa blocos de estado para salvar e restaurar o estado automaticamente. Para obter mais informações sobre blocos de estado, consulte estado de salvamento e restauração de blocos de estado (Direct3D 9).

Constantes de efeito