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.