D3DXFX

Opzioni per il salvataggio e la creazione di effetti.

Le costanti nella tabella seguente sono definite in d3dx9effect.h.

Flag di salvataggio e ripristino dello stato dell'effetto Descrizione
D3DXFX_DONOTSAVESTATE Non viene salvato alcuno stato quando si chiama Begin o ripristinato quando si chiama End.
D3DXFX_DONOTSAVESAMPLERSTATE Un blocco di stato salva lo stato quando si chiama Begin e ripristina lo stato quando si chiama End.
D3DXFX_DONOTSAVESHADERSTATE Un blocco di stato salva lo stato (ad eccezione degli shader e delle costanti shader) quando si chiama Begin e ripristina lo stato quando si chiama End.
Flag di creazione degli effetti Descrizione
D3DXFX_NOT_CLONEABLE L'effetto sarà non clonabile e non conterrà dati binari shader. GetPassDesc non restituirà puntatori alle funzioni shader. L'impostazione di questo flag riduce l'utilizzo della memoria di circa il 50% perché elimina la necessità del sistema di effetti di mantenere una copia degli shader in memoria. Questo flag viene usato da D3DXCreateEffect, D3DXCreateEffectFromFile e D3DXCreateEffectFromResource.
D3DXFX_LARGEADDRESSAWARE Abilita l'allocazione di una risorsa effetto nello spazio indirizzi uppder di un computer. Una limitazione importante è che non è possibile usare stringhe e handle in modo intercambiabile. Ad esempio, il codice seguente non funzionerà più.
g_pEffect->SetMatrix( "g_mWorldViewProjection", &mWorldViewProjection );

È invece necessario usare un metodo come GetParameterByName per archiviare l'handle del parametro , che viene quindi usato per passare le variabili all'effetto.

 

Le costanti nella tabella seguente non sono definite per impostazione predefinita e devono essere definite dallo sviluppatore.

Preprocessore effetto #define Descrizione
D3DXFX_LARGEADDRESS_HANDLE Definire questo valore prima di includere d3dx9.h in modo che l'applicazione non venga compilata quando si tenta di passare stringhe in parametri D3DXHANDLE. Ciò consentirà di assicurarsi che le informazioni valide vengano passate al runtime.
Flag del linker effetto Descrizione
LARGE_ADDRESS_AWARE Se necessario, l'impostazione del flag del linker LARGE_ADDRESS_AWARE = 1 consentirà all'applicazione di allocare risorse oltre il limite di indirizzi da 2 GB.

 

Il sistema di effetti usa blocchi di stato per salvare e ripristinare automaticamente lo stato. Per altre informazioni sui blocchi di stato, vedere State Blocks Save and Restore State (Direct3D 9).For more information about state blocks, see State Blocks Save and Restore State (Direct3D 9).

Costanti Effetto