IGameFX Class Reference

#include <IGameFX.h>

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.

Deprecated:
From 3ds Max 2015 IGameFX is deprecated. It no longer supports the newer Shader models or Nitrous. Please use the regular Microsoft DirectX SDK and supporting APIs to extract shader data.
+ Inheritance diagram for IGameFX:

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

MAX_DEPRECATED ~IGameFX ()
 Destructor. More...
 
MAX_DEPRECATED bool Initialize (const MaxSDK::AssetManagement::AssetUser &effect, EffectSource input)
 Initialise the interface with the effect to be decompiled. More...
 
MAX_DEPRECATED bool ParseData (Mtl *effectMtl)
 Parse the effect file, providing the host material as a source for parameter hook up. More...
 
MAX_DEPRECATED const MSTR GetError ()
 
MAX_DEPRECATED int GetNumberOfProperties ()
 The total number of properties in the effect. More...
 
MAX_DEPRECATED IGameFXPropertyGetIGameFXProperty (int index)
 Access to a specific parameter. More...
 
MAX_DEPRECATED int GetNumberOfTechniques ()
 The total number of techniques in the effect. More...
 
MAX_DEPRECATED IGameFXTechniqueGetIGameFXTechnique (int index)
 Access to a specifc technique. More...
 
MAX_DEPRECATED int GetNumberOfFunctions ()
 the total number of functions on the effect More...
 
MAX_DEPRECATED IGameFXFunctionGetIGameFXFunction (int index)
 Get the function from the index supplied. More...
 
MAX_DEPRECATED const MaxSDK::AssetManagement::AssetUserGetEffectFile ()
 Access the filename of the effect used. This will only provide a valid filename if kFile is used in Initialize. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e)
 Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport void operator delete (void *ptr)
 Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator. More...
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator. More...
 

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.

48  {
49  kFile,
50  kBuffer
51  };
The effect is defined in memory.
Definition: IGameFX.h:50
The effect is defined in a file.
Definition: IGameFX.h:49

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.

54  {
55  kVSPS_20,
56  kVSPS_2X,
57  kVSPS_30
58  };
Vertex and Pixel shader version 2.0.
Definition: IGameFX.h:55
Vertex and Pixel shader version 2.A.
Definition: IGameFX.h:56
Vertex and Pixel shader version 3.0.
Definition: IGameFX.h:57

Constructor & Destructor Documentation

MAX_DEPRECATED ~IGameFX ( )

Destructor.

Member Function Documentation

MAX_DEPRECATED bool Initialize ( const MaxSDK::AssetManagement::AssetUser effect,
EffectSource  input 
)

Initialise the interface with the effect to be decompiled.

MAX_DEPRECATED bool ParseData ( Mtl effectMtl)

Parse the effect file, providing the host material as a source for parameter hook up.

MAX_DEPRECATED const MSTR GetError ( )
MAX_DEPRECATED int GetNumberOfProperties ( )

The total number of properties in the effect.

MAX_DEPRECATED IGameFXProperty* GetIGameFXProperty ( int  index)

Access to a specific parameter.

MAX_DEPRECATED int GetNumberOfTechniques ( )

The total number of techniques in the effect.

MAX_DEPRECATED IGameFXTechnique* GetIGameFXTechnique ( int  index)

Access to a specifc technique.

MAX_DEPRECATED int GetNumberOfFunctions ( )

the total number of functions on the effect

MAX_DEPRECATED IGameFXFunction* GetIGameFXFunction ( int  index)

Get the function from the index supplied.

MAX_DEPRECATED const MaxSDK::AssetManagement::AssetUser& GetEffectFile ( )

Access the filename of the effect used. This will only provide a valid filename if kFile is used in Initialize.