IGameFX Class Reference
 
 
 
IGameFX Class Reference

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


#include <IGameFX.h>

Inheritance diagram for IGameFX:
MaxHeapOperators

Class 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.

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 MSTR  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 MSTR 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.