3ds Max C++ API 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

◆ SAFE_DELETE

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

Some useful memory management macros.

◆ SAFE_DELETE_ARRAY

#define SAFE_DELETE_ARRAY (   p)    { if (p) { delete[] (p); (p)=NULL; } }

◆ SAFE_RELEASE

#define SAFE_RELEASE (   p)    { if (p) { (p)->Release(); (p)=NULL; } }

◆ SUMMER_SDK

#define SUMMER_SDK

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

◆ PARSER_LOADER_INTERFACE

#define PARSER_LOADER_INTERFACE   Interface_ID(0x7fbe42d6, 0x3e7f412b)

◆ EFFECT_FILE_INTERFACE

#define EFFECT_FILE_INTERFACE   Interface_ID(0xc3d2425, 0x637366bc)

Enumeration Type Documentation

◆ MaxSemantics

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 
38 {
96 };
@ kSemanticSpecularMap
Definition: RTMax.h:65
@ kSemanticProjectionI
Definition: RTMax.h:47
@ kSemanticWorldViewIT
Definition: RTMax.h:53
@ kSemanticNormalMap
Definition: RTMax.h:62
@ kSemanticRecipLocalBBSize
Definition: RTMax.h:74
@ kSemanticDiffuseMap
Definition: RTMax.h:64
@ kSemanticEmissive
Definition: RTMax.h:85
@ kSemanticView
Definition: RTMax.h:43
@ kSemanticGlobalTime
Definition: RTMax.h:69
@ kSemanticWorldViewT
Definition: RTMax.h:56
@ kSemanticPosition
Definition: RTMax.h:41
@ kSemanticViewI
Definition: RTMax.h:49
@ kSemanticLocalBBMin
Definition: RTMax.h:71
@ kSemanticSpecularLevel
Definition: RTMax.h:82
@ kSemanticReflectionMap
Definition: RTMax.h:86
@ kSemanticLightFallOff
Definition: RTMax.h:87
@ kSemanticWorldViewI
Definition: RTMax.h:51
@ kSemanticDirection
Definition: RTMax.h:40
@ kSemanticBumpMap
Definition: RTMax.h:63
@ kSemanticViewT
Definition: RTMax.h:58
@ kSemanticLocalBBSize
Definition: RTMax.h:73
@ kSemanticWorldViewProj
Definition: RTMax.h:52
@ kSemanticViewportDimensions
Definition: RTMax.h:77
@ kSemanticProjection
Definition: RTMax.h:46
@ kSemanticWorldIT
Definition: RTMax.h:55
@ kSemanticBitmapOverride
Definition: RTMax.h:75
@ kSemanticColorOverride
Definition: RTMax.h:76
@ kSemanticDiffuse
Definition: RTMax.h:79
@ kSemanticShadowData
Definition: RTMax.h:95
@ kSemanticGlossLevel
Definition: RTMax.h:83
@ kSemanticWorldCamPos
Definition: RTMax.h:60
@ kSemanticPerspective
Definition: RTMax.h:44
@ kSemanticOpacity
Definition: RTMax.h:84
@ kSemanticWorldView
Definition: RTMax.h:45
@ kSemanticATan
Definition: RTMax.h:78
@ kSemanticDirectionView
Definition: RTMax.h:94
@ kSemanticOpacityMap
Definition: RTMax.h:66
@ kSemanticViewIT
Definition: RTMax.h:54
@ kSemanticLocalBBMax
Definition: RTMax.h:72
@ kSemanticPositionLocal
Definition: RTMax.h:90
@ kSemanticLightMap
Definition: RTMax.h:67
@ kSemanticLightColor
Definition: RTMax.h:61
@ kSemanticLightHotSpot
Definition: RTMax.h:88
@ kSemanticUnknown
Definition: RTMax.h:39
@ kSemanticDirectionLocal
Definition: RTMax.h:89
@ kSemanticWorldI
Definition: RTMax.h:50
@ kSemanticLightAttenuation
See ILightingData::GetAttenuation for details.
Definition: RTMax.h:92
@ kSemanticGlobalBkgrd
Definition: RTMax.h:70
@ kSemanticProjectionT
Definition: RTMax.h:59
@ kSemanticWorldT
Definition: RTMax.h:57
@ kSemanticProjectionIT
Definition: RTMax.h:48
@ kSemanticSpecular
Definition: RTMax.h:81
@ kSemanticPositionView
Definition: RTMax.h:93
@ kSemanticWorld
Definition: RTMax.h:42
@ kSemanticDisplacementMap
Definition: RTMax.h:68
@ kSemanticAmbient
Definition: RTMax.h:80

Function Documentation

◆ GetParserLoader()

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