RTMax.h File Reference

RTMax.h File Reference
#include <d3d9.h>
#include <d3dx9.h>
#include "export.h"
#include "maxheap.h"
#include "stdmat.h"
#include "iFnPub.h"

Classes

class  IEffectManager
 The Effect Manager is responsible for displaying effect parameters. In 3ds Max this is implemented by the DirectX 9 Material. More...
 
class  IEffectParser
 Implemented by Effect Parser. More...
 
class  ILightingData
 Access Lighting data from 3ds Max lights. More...
 
class  IShadowLightData
 Access shadow data from 3ds Max lights. More...
 
class  ILightManager
 A basic light container. More...
 
class  IParameterManager
 A data management class for accessing data required for displaying real time effects. More...
 
class  EffectDescriptor
 A mini Max class descriptor. This is purely to instantiate multiple objects, and query the Parser ID for the DLL. More...
 
class  IParserLoader
 A core interface used to store parser DLLs found in the system. More...
 
class  IRenderMesh
 Maintains a Dx version of the current mesh in the cache. It will render either the 3ds Max mesh or a screen aligned quad. More...
 
class  IRenderMeshCache
 This class maintains a list of the meshes and RenderMeshes used per instance. It acts as a factory class. More...
 
class  IEffectFile
 Implemented by a plugin, typically a material, to provide access to the underlying shader code. More...
 
class  IValidateNodeCallback
 A simple class that a developer must implement if they want to use Scene traversal. More...
 
class  IDxSceneTransformManager
 An interface to allow access to scene transforms. More...
 
class  IDxSceneManager
 A system to manage the current state of the Dx Scene and render passes. More...
 
struct  DxGeneralFunctions
 

Macros

#define SAFE_DELETE(p)   { if (p) { delete (p); (p)=NULL; } }
 Some useful memory management macros. More...
 
#define SAFE_DELETE_ARRAY(p)   { if (p) { delete[] (p); (p)=NULL; } }
 
#define SAFE_RELEASE(p)   { if (p) { (p)->Release(); (p)=NULL; } }
 
#define SUMMER_SDK
 Switch to compile between Dx9.0b and Dx9.0c. More...
 
#define PARSER_LOADER_INTERFACE   Interface_ID(0x7fbe42d6, 0x3e7f412b)
 
#define EFFECT_FILE_INTERFACE   Interface_ID(0xc3d2425, 0x637366bc)
 

Enumerations

enum  MaxSemantics {
  kSemanticUnknown, kSemanticDirection, kSemanticPosition, kSemanticWorld,
  kSemanticView, kSemanticPerspective, kSemanticWorldView, kSemanticProjection,
  kSemanticProjectionI, kSemanticProjectionIT, kSemanticViewI, kSemanticWorldI,
  kSemanticWorldViewI, kSemanticWorldViewProj, kSemanticWorldViewIT, kSemanticViewIT,
  kSemanticWorldIT, kSemanticWorldViewT, kSemanticWorldT, kSemanticViewT,
  kSemanticProjectionT, kSemanticWorldCamPos, kSemanticLightColor, kSemanticNormalMap,
  kSemanticBumpMap, kSemanticDiffuseMap, kSemanticSpecularMap, kSemanticOpacityMap,
  kSemanticLightMap, kSemanticDisplacementMap, kSemanticGlobalTime, kSemanticGlobalBkgrd,
  kSemanticLocalBBMin, kSemanticLocalBBMax, kSemanticLocalBBSize, kSemanticRecipLocalBBSize,
  kSemanticBitmapOverride, kSemanticColorOverride, kSemanticViewportDimensions, kSemanticATan,
  kSemanticDiffuse, kSemanticAmbient, kSemanticSpecular, kSemanticSpecularLevel,
  kSemanticGlossLevel, kSemanticOpacity, kSemanticEmissive, kSemanticReflectionMap,
  kSemanticLightFallOff, kSemanticLightHotSpot, kSemanticDirectionLocal, kSemanticPositionLocal,
  kSemanticLightAttenuation, kSemanticPositionView, kSemanticDirectionView, kSemanticShadowData
}
 

Functions

IParserLoaderGetParserLoader ()
 

Macro Definition Documentation

#define SAFE_DELETE (   p)    { if (p) { delete (p); (p)=NULL; } }

Some useful memory management macros.

#define SAFE_DELETE_ARRAY (   p)    { if (p) { delete[] (p); (p)=NULL; } }
#define SAFE_RELEASE (   p)    { if (p) { (p)->Release(); (p)=NULL; } }
#define SUMMER_SDK

Switch to compile between Dx9.0b and Dx9.0c.

#define PARSER_LOADER_INTERFACE   Interface_ID(0x7fbe42d6, 0x3e7f412b)
#define EFFECT_FILE_INTERFACE   Interface_ID(0xc3d2425, 0x637366bc)

Enumeration Type Documentation

Enumerator
kSemanticUnknown 
kSemanticDirection 
kSemanticPosition 
kSemanticWorld 
kSemanticView 
kSemanticPerspective 
kSemanticWorldView 
kSemanticProjection 
kSemanticProjectionI 
kSemanticProjectionIT 
kSemanticViewI 
kSemanticWorldI 
kSemanticWorldViewI 
kSemanticWorldViewProj 
kSemanticWorldViewIT 
kSemanticViewIT 
kSemanticWorldIT 
kSemanticWorldViewT 
kSemanticWorldT 
kSemanticViewT 
kSemanticProjectionT 
kSemanticWorldCamPos 
kSemanticLightColor 
kSemanticNormalMap 
kSemanticBumpMap 
kSemanticDiffuseMap 
kSemanticSpecularMap 
kSemanticOpacityMap 
kSemanticLightMap 
kSemanticDisplacementMap 
kSemanticGlobalTime 
kSemanticGlobalBkgrd 
kSemanticLocalBBMin 
kSemanticLocalBBMax 
kSemanticLocalBBSize 
kSemanticRecipLocalBBSize 
kSemanticBitmapOverride 
kSemanticColorOverride 
kSemanticViewportDimensions 
kSemanticATan 
kSemanticDiffuse 
kSemanticAmbient 
kSemanticSpecular 
kSemanticSpecularLevel 
kSemanticGlossLevel 
kSemanticOpacity 
kSemanticEmissive 
kSemanticReflectionMap 
kSemanticLightFallOff 
kSemanticLightHotSpot 
kSemanticDirectionLocal 
kSemanticPositionLocal 
kSemanticLightAttenuation 

See ILightingData::GetAttenuation for details.

kSemanticPositionView 
kSemanticDirectionView 
kSemanticShadowData 
40 {
98 };
Definition: RTMax.h:74
Definition: RTMax.h:60
Definition: RTMax.h:61
Definition: RTMax.h:44
Definition: RTMax.h:58
Definition: RTMax.h:89
Definition: RTMax.h:45
Definition: RTMax.h:68
Definition: RTMax.h:88
Definition: RTMax.h:62
Definition: RTMax.h:75
Definition: RTMax.h:96
Definition: RTMax.h:42
Definition: RTMax.h:65
Definition: RTMax.h:53
Definition: RTMax.h:51
Definition: RTMax.h:76
Definition: RTMax.h:73
Definition: RTMax.h:67
Definition: RTMax.h:80
Definition: RTMax.h:46
Definition: RTMax.h:81
Definition: RTMax.h:52
Definition: RTMax.h:77
Definition: RTMax.h:83
Definition: RTMax.h:90
Definition: RTMax.h:87
Definition: RTMax.h:97
Definition: RTMax.h:47
Definition: RTMax.h:48
Definition: RTMax.h:55
Definition: RTMax.h:69
Definition: RTMax.h:56
Definition: RTMax.h:64
See ILightingData::GetAttenuation for details.
Definition: RTMax.h:94
Definition: RTMax.h:78
Definition: RTMax.h:50
Definition: RTMax.h:63
Definition: RTMax.h:71
Definition: RTMax.h:70
Definition: RTMax.h:59
Definition: RTMax.h:79
Definition: RTMax.h:66
Definition: RTMax.h:85
Definition: RTMax.h:54
Definition: RTMax.h:86
Definition: RTMax.h:41
Definition: RTMax.h:43
Definition: RTMax.h:95
Definition: RTMax.h:82
Definition: RTMax.h:49
Definition: RTMax.h:91
Definition: RTMax.h:57
Definition: RTMax.h:92
Definition: RTMax.h:84
Definition: RTMax.h:72

Function Documentation

IParserLoader* GetParserLoader ( )
inline
A core interface used to store parser DLLs found in the system.
Definition: RTMax.h:538
CoreExport Interface * GetCOREInterface()
#define PARSER_LOADER_INTERFACE
Definition: RTMax.h:503