render.h File Reference

render.h File Reference
#include "maxheap.h"
#include "sfx.h"
#include "buildver.h"
#include "iTargetedIO.h"
#include "RendType.h"
#include "object.h"

Classes

class  DefaultLight
 Describes a default light. More...
 
class  ViewParams
 Describes the properties of a view that is being rendered. More...
 
class  RendParams
 This class has a set of data members, and these parameters are passed to the renderer when the renderer is opened. More...
 
class  FrameRendParams
 This is passed to the renderer on every frame. More...
 
class  RendParamDlg
 An instance of this class is created by Renderer::CreateParamDlg(). More...
 
class  RendPickProc
 An instance of this class is passed to IRendParams::SetPickMode(). More...
 
class  IRendParams
 This is the interface given to a renderer, or atmospheric effect when it needs to display its parameters. More...
 
class  RenderInstance
 This class provides information about a single node being rendered. More...
 
class  RendProgressCallback
 This class is a callback passed in to the renderer. More...
 
class  RendProgressCallback2
 This class extends the progress reporting of rendering with the ability to add high level task number and set progression through them. More...
 
class  Renderer
 This is the base class for any renderer plugin. More...
 
class  RendContext
 This class is passed into the method ObjLightDesc::Update(). More...
 
struct  SubRendParams
 This structure contains information on rendering for Mirror and Automatic Cubic materials. More...
 
class  RenderMapsContext
 An instance of this class is passed into the MtlBase::BuildMaps() method. More...
 
class  IScanRenderer
 This class provides an interface into the standard 3ds Max scanline renderer. More...
 
class  IScanRenderer2
 
class  IRendererRequirements
 

Macros

#define FIELD_EVEN   0
 
#define FIELD_ODD   1
 
#define RENDER_R25SHADOWS   (1L << 2)
 Removes a fix made for R3 that cleaned up the edges of shadows where objects intersect– DS 8/28/00 This goes in the extraFlags field of RendParams. More...
 
#define RENDER_HIDE_FROZEN   (1L << 3)
 Tell the renderer to hide frozen objects This goes in the extraFlags field of RendParams. More...
 
#define RP_ANTIALIAS_OFF   200
 An index to an external command. More...
 
#define BROWSE_MATSONLY   (1<<0)
 Materials only. More...
 
#define BROWSE_MAPSONLY   (1<<1)
 Maps only. More...
 
#define BROWSE_INCNONE   (1<<2)
 Include 'None' as an option. More...
 
#define BROWSE_INSTANCEONLY   (1<<3)
 Only allow instances, no copy. More...
 
#define BROWSE_TO_MEDIT_SLOT   (1<<4)
 browsing to medit slot More...
 
#define BROWSE_EXISTING_ONLY   (1<<5)
 Browse for existing materials only; no new materials. More...
 
#define INST_HIDE   (1<<0)
 instance is hidden More...
 
#define INST_CLIP   (1<<1)
 clip instance: ray tracers should skip it More...
 
#define INST_BLUR   (1<<2)
 secondary motion blur instance More...
 
#define INST_RCV_SHADOWS   (1<<3)
 instance receives shadows More...
 
#define INST_TM_NEGPARITY   (1<<4)
 mesh is inside-out: need to reverse normals on-the-fly More...
 
#define INST_MTL_BYFACE   (1<<5)
 instance's object supports mtl-by-face interface ( chkmtlapi.h) More...
 
#define RENDPROG_CONTINUE   1
 Continue to Process. More...
 
#define RENDPROG_ABORT   0
 Stop Processing. More...
 
#define FIELD_FIRST   0
 
#define FIELD_SECOND   1
 
#define FIELD_NONE   -1
 
#define RENDMAP_SHOW_NODE   1
 
#define DONT_CLIP   1.0E38f
 
#define SCANLINE_RENDERER_INTERFACE   Interface_ID(0x342323, 0x551665)
 
#define SCANLINE_RENDERER3_INTERFACE   Interface_ID(0x44e40bbc, 0x52bc7cd1)
 
#define GetScanRendererInterface(obj)   ((IScanRenderer2*)obj->GetInterface(SCANLINE_RENDERER_INTERFACE))
 
#define GetScanRendererInterface3(obj)   ((IScanRenderer3*)obj->GetInterface(SCANLINE_RENDERER3_INTERFACE))
 
#define IRENDERERREQUIREMENTS_INTERFACE_ID   Interface_ID(0x27c85c29, 0xfab6ee0)
 Interface ID for the class IRendererRequirements. More...
 

Functions

IRendererRequirementsGetRendererRequirements (Renderer *renderer)
 
bool RendererHasRequirement (Renderer *renderer, IRendererRequirements::Requirement requirement)
 

Macro Definition Documentation

#define FIELD_EVEN   0
#define FIELD_ODD   1
#define RP_ANTIALIAS_OFF   200

An index to an external command.

Can be accepted as the argument to Execute()

#define RENDMAP_SHOW_NODE   1
#define DONT_CLIP   1.0E38f
#define GetScanRendererInterface (   obj)    ((IScanRenderer2*)obj->GetInterface(SCANLINE_RENDERER_INTERFACE))
#define GetScanRendererInterface3 (   obj)    ((IScanRenderer3*)obj->GetInterface(SCANLINE_RENDERER3_INTERFACE))
#define IRENDERERREQUIREMENTS_INTERFACE_ID   Interface_ID(0x27c85c29, 0xfab6ee0)

Interface ID for the class IRendererRequirements.

Function Documentation

IRendererRequirements* GetRendererRequirements ( Renderer renderer)
inline
1990  {
1991  return (renderer != NULL) ? static_cast<IRendererRequirements*>(renderer->GetInterface(IRENDERERREQUIREMENTS_INTERFACE_ID)) : NULL;
1992 }
#define NULL
Definition: autoptr.h:20
#define IRENDERERREQUIREMENTS_INTERFACE_ID
Interface ID for the class IRendererRequirements.
Definition: render.h:1945
virtual CoreExport void * GetInterface(ULONG id)
Inherited from Animatable.
Definition: render.h:1946
bool RendererHasRequirement ( Renderer renderer,
IRendererRequirements::Requirement  requirement 
)
inline
1994  {
1995  IRendererRequirements* iRequirements = GetRendererRequirements(renderer);
1996  return (iRequirements != NULL) ? iRequirements->HasRequirement(requirement) : false;
1997 }
#define NULL
Definition: autoptr.h:20
virtual bool HasRequirement(Requirement requirement)=0
IRendererRequirements * GetRendererRequirements(Renderer *renderer)
Definition: render.h:1990
Definition: render.h:1946