D3DXFX

Optionen zum Speichern und Erstellen von Effekten.

Die Konstanten in der folgenden Tabelle sind in d3dx9effect.h definiert.

Flags zum Speichern und Wiederherstellen des Effect-Zustands Beschreibung
D3DXFX_DONOTSAVESTATE Beim Aufrufen von Begin oder beim Aufrufen von Endwird kein Zustand gespeichert.
D3DXFX_DONOTSAVESAMPLERSTATE Ein Zustandsblock speichert den Zustand beim Aufrufen von Begin und stellt den Zustand beim Aufrufen von Endwieder her.
D3DXFX_DONOTSAVESHADERSTATE Ein Zustandsblock speichert den Zustand (mit Ausnahme von Shadern und Shaderkonstanten) beim Aufrufen von Begin und stellt den Zustand beim Aufrufen von Endwieder her.
Flags für die Effekterstellung Beschreibung
D3DXFX_NOT_CLONEABLE Der Effekt ist nicht klonbar und enthält keine binären Shaderdaten. GetPassDesc gibt keine Shaderfunktionszeiger zurück. Durch Festlegen dieses Flags wird die Speicherauslastung um etwa 50 % reduziert, da das Effektsystem keine Kopie der Shader im Arbeitsspeicher speichern muss. Dieses Flag wird von D3DXCreateEffect, D3DXCreateEffectFromFileund D3DXCreateEffectFromResourceverwendet.
D3DXFX_LARGEADDRESSAWARE Aktiviert die Zuordnung einer Effektressource in den Uppder-Adressraum eines Computers. Eine wichtige Einschränkung besteht darin, dass Sie keine Zeichenfolgen und Handles austauschbar verwenden können. Das folgende Beispiel würde nicht mehr funktionieren.
g_pEffect->SetMatrix( "g_mWorldViewProjection", &mWorldViewProjection );

Stattdessen muss eine Methode wie GetParameterByName verwendet werden, um das Handle des Parameters zu speichern, der dann zum Übergeben von Variablen an den Effekt verwendet wird.

Die Konstanten in der folgenden Tabelle sind nicht standardmäßig definiert und müssen vom Entwickler definiert werden.

Effect Preprocessor # define es Beschreibung
D3DXFX _ _ LARGEADDRESS-HANDLE Definieren Sie diesen Wert, bevor Sie d3dx9.h einschließen, damit Ihre Anwendung beim Versuch, Zeichenfolgen an D3DXHANDLE-Parameter zu übergeben, nicht kompiliert werden kann. Dadurch wird sichergestellt, dass gültige Informationen an die Laufzeit übergeben werden.
Effektlinkerflags Beschreibung
LARGE _ ADDRESS _ AWARE Wenn Sie das Linkerflag LARGE ADDRESS AWARE = 1 festlegen, _ kann die Anwendung Bei Bedarf Ressourcen über den Grenzwert von _ 2 GB an Adressen zuordnen.

Das Effektsystem verwendet Zustandsblöcke, um den Zustand automatisch zu speichern und wiederherzustellen. Weitere Informationen zu Zustandsblöcken finden Sie unter Zustandsblöcke Speichern und Wiederherstellen des Zustands (Direct3D 9).

Effektkonstanten