Public Types | Public Member Functions

IGameFX Class Reference

This reference page is linked to from the following overview topics: 3DXI Materials and Textures.


Search for all occurrences

Detailed Description

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>

Inheritance diagram for IGameFX:
Inheritance graph
[legend]

List of all members.

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.

Member Enumeration Documentation

Define the source of the effect data.

Enumerator:
kFile 

The effect is defined in a file.

kBuffer 

The effect is defined in memory.

                     {
        kFile,          
        kBuffer         
    };

The compile time option for the profile used in the shader.

Enumerator:
kVSPS_20 

Vertex and Pixel shader version 2.0.

kVSPS_2X 

Vertex and Pixel shader version 2.A.

kVSPS_30 

Vertex and Pixel shader version 3.0.


Constructor & Destructor Documentation

virtual ~IGameFX ( ) [inline, virtual]

Destructor.

{;}

Member Function Documentation

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.


IGameFX IGameFX IGameFX IGameFX IGameFX IGameFX IGameFX IGameFX IGameFX IGameFX
IGameFX IGameFX IGameFX IGameFX IGameFX IGameFX IGameFX IGameFX IGameFX IGameFX