This reference page is linked to from the following overview topics: 3DXI Materials and Textures.
Main interface for parsing a generic effect file.
This interface breaks down an effect file into a table of parameters, techniques and code. It provides a non format and compiler specific summary of an D3D Effect file. This allow the developer to break up an effect for recompiling and regenerating on another platform.
#include <IGameFX.h>

Public Types | 
|
| enum | EffectSource { kFile, kBuffer } | 
| 
 Define the source of the effect data. More... | 
|
| enum | IGameFXProfile { kVSPS_20, kVSPS_2X, kVSPS_30 } | 
| 
 The compile time option for the profile used in the shader. More... | 
|
Public Member Functions | 
|
| virtual | ~IGameFX () | 
| Destructor.  | 
|
| virtual bool | Initialize (const MaxSDK::AssetManagement::AssetUser &effect, EffectSource input)=0 | 
| Initialise the interface with the effect to
be decompiled.  | 
|
| virtual bool | ParseData (Mtl *effectMtl)=0 | 
| Parse the effect file, providing the host
material as a source for parameter hook up.  | 
|
| virtual const MCHAR * | GetError ()=0 | 
| virtual int | GetNumberOfProperties ()=0 | 
| The total number of properties in the
effect.  | 
|
| virtual IGameFXProperty * | GetIGameFXProperty (int index)=0 | 
| Access to a specific parameter.  | 
|
| virtual int | GetNumberOfTechniques ()=0 | 
| The total number of techniques in the
effect.  | 
|
| virtual IGameFXTechnique * | GetIGameFXTechnique (int index)=0 | 
| Access to a specifc technique.  | 
|
| virtual int | GetNumberOfFunctions ()=0 | 
| the total number of functions on the effect
 | 
|
| virtual IGameFXFunction * | GetIGameFXFunction (int index)=0 | 
| Get the function from the index supplied.
 | 
|
| virtual
const MaxSDK::AssetManagement::AssetUser &  | 
GetEffectFile ()=0 | 
| Access the filename of the effect used. This
will only provide a valid filename if kFile is used in Initialize.
 | 
|
| enum EffectSource | 
Define the source of the effect data.
| enum IGameFXProfile | 
The compile time option for the profile used in the shader.
| virtual ~IGameFX | ( | ) | [inline, virtual] | 
Destructor.
{;}
| virtual bool Initialize | ( | const MaxSDK::AssetManagement::AssetUser & | effect, | 
| EffectSource | input | ||
| ) | [pure virtual] | 
Initialise the interface with the effect to be decompiled.
| virtual bool ParseData | ( | Mtl * | effectMtl | ) | [pure virtual] | 
Parse the effect file, providing the host material as a source for parameter hook up.
| virtual const MCHAR* GetError | ( | ) | [pure virtual] | 
| virtual int GetNumberOfProperties | ( | ) | [pure virtual] | 
The total number of properties in the effect.
| virtual IGameFXProperty* GetIGameFXProperty | ( | int | index | ) | [pure virtual] | 
Access to a specific parameter.
| virtual int GetNumberOfTechniques | ( | ) | [pure virtual] | 
The total number of techniques in the effect.
| virtual IGameFXTechnique* GetIGameFXTechnique | ( | int | index | ) | [pure virtual] | 
Access to a specifc technique.
| virtual int GetNumberOfFunctions | ( | ) | [pure virtual] | 
the total number of functions on the effect
| virtual IGameFXFunction* GetIGameFXFunction | ( | int | index | ) | [pure virtual] | 
Get the function from the index supplied.
| virtual const MaxSDK::AssetManagement::AssetUser& GetEffectFile | ( | ) | [pure virtual] | 
Access the filename of the effect used. This will only provide a valid filename if kFile is used in Initialize.