Public Member Functions

INodeGIProperties Class Reference

Search for all occurrences

Detailed Description

class INodeGIProperties : public FPMixinInterface

Description:
This class is only available in release 5 or later.

This class defines an interface for accessing a node's global illumination properties.

An instance of this interface can be retrieved using the following line of code (assuming 'node' is of type INode*):

static_cast<INodeGIProperties*>(node->GetInterface(NODEGIPROPERTIES_INTERFACE))

Geometric and object objects have different properties. Accessing/setting geometric properties of non-geometric objects is safe, but will have no effect in the global illumination solution.

Here is a description of the global illumination properties:

GENERAL PROPERTIES (all types of objects)
  • Excluded: Excluded objects should be ignored by the radiosity engine. The should act as if these objects do not exist.
  • ByLayer: Specifies whether the GI properties of this node's layer should be used instead of the local settings.
GEOMETRIC OBJECTS (affects only geometric objects):
  • Occluder: Occluding objects will block rays of light that hit their surface. Non-occluding objects will not block those rays, but will still receive illumination if the Receiver property is set.
  • Receiver: Receiver objects will receive and store illumination from rays of light that hit their surface. Non-receiver objects will not store illumination.
  • Diffuse: Diffuse surfaces will reflect and trasmit light based on their diffuse color and transparency value.
  • Specular: Specular surfaces will generate specular reflections and transparency. ex.: glass is specular transparent and a mirror is specular reflective.
  • UseGlobalMeshSettings: When subdividing the geometry for a more accurate GI solution, this flag specifies whether some 'global' settings, or the node's local ettings should be used.
  • MeshingEnabled: When using local settings, this specifies whether geometry subdivision should occur on this node.
  • MeshSize: The maximum size, in 3ds Max universe units, that a face should have after being subdivided.
  • NbRefineSteps: This is the saved number of refining steps to be performed on this node by the global illumination engine.
  • ExcludedFromRegather: Set to 'true' to excluded an object from the 'regathering' process.
  • RayMult: Specifies a multiplier that will increase or decrease the number of rays cast for this object when regathering.


LIGHT OBJECTS (affects only light sources):
  • StoreIllumToMesh: Specifies whether the light emitted from this object should be stored in the GI solution's mesh, and not be re-cast at render-time.

#include <INodeGIProperties.h>

Inheritance diagram for INodeGIProperties:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual void  CopyGIPropertiesFrom (const INodeGIProperties &source)=0
virtual BOOL  GIGetIsExcluded () const =0
virtual void  GISetIsExcluded (BOOL isExcluded)=0
virtual BOOL  GIGetIsOccluder () const =0
virtual BOOL  GIGetIsReceiver () const =0
virtual BOOL  GIGetIsDiffuse () const =0
virtual BOOL  GIGetIsSpecular () const =0
virtual BOOL  GIGetUseGlobalMeshSettings () const =0
virtual BOOL  GIGetMeshingEnabled () const =0
virtual unsigned short  GIGetNbRefineSteps () const =0
virtual unsigned short  GIGetNbRefineStepsDone () const =0
virtual float  GIGetMeshSize () const =0
virtual void  GISetIsOccluder (BOOL isOccluder)=0
virtual void  GISetIsReceiver (BOOL isReceiver)=0
virtual void  GISetIsDiffuse (BOOL isDiffuseReflective)=0
virtual void  GISetIsSpecular (BOOL isSpecular)=0
virtual void  GISetUseGlobalMeshSettings (BOOL globalMeshing)=0
virtual void  GISetMeshingEnabled (BOOL meshingEnabled)=0
virtual void  GISetNbRefineSteps (unsigned short nbRefineSteps)=0
virtual void  GISetNbRefineStepsDone (unsigned short nbRefineStepsDone)=0
virtual void  GISetMeshSize (float size)=0
virtual BOOL  GIGetIsExcludedFromRegather () const =0
virtual void  GISetIsExcludedFromRegather (BOOL isExcluded)=0
virtual BOOL  GIGetStoreIllumToMesh () const =0
virtual void  GISetStoreIllumToMesh (BOOL storeIllum)=0
virtual BOOL  GIGetByLayer () const =0
virtual void  GISetByLayer (BOOL byLayer)=0
virtual float  GIGetRayMult () const =0
virtual void  GISetRayMult (float rayMult)=0

Member Function Documentation

virtual void CopyGIPropertiesFrom ( const INodeGIProperties source ) [pure virtual]
Remarks:
K Prototype

Clones the properties from a source
virtual BOOL GIGetIsExcluded ( ) const [pure virtual]
Remarks:
K Prototype

Saves local properties - to be called on every node
virtual void GISetIsExcluded ( BOOL  isExcluded ) [pure virtual]
Remarks:
K Prototype

Saves local properties - to be called on every node. See also GIGetIsExcluded()
virtual BOOL GIGetIsOccluder ( ) const [pure virtual]
virtual BOOL GIGetIsReceiver ( ) const [pure virtual]
virtual BOOL GIGetIsDiffuse ( ) const [pure virtual]
virtual BOOL GIGetIsSpecular ( ) const [pure virtual]
virtual BOOL GIGetUseGlobalMeshSettings ( ) const [pure virtual]
virtual BOOL GIGetMeshingEnabled ( ) const [pure virtual]
virtual unsigned short GIGetNbRefineSteps ( ) const [pure virtual]
virtual unsigned short GIGetNbRefineStepsDone ( ) const [pure virtual]
virtual float GIGetMeshSize ( ) const [pure virtual]
Remarks:
K Prototype

Geometry object property - retrieves the current mesh size for the node.
virtual void GISetIsOccluder ( BOOL  isOccluder ) [pure virtual]
Remarks:
K Prototype

Geometry object property - query for whether the node is an occluder object in the global illumination computations.
virtual void GISetIsReceiver ( BOOL  isReceiver ) [pure virtual]
Remarks:
K Prototype

Geometry object property - query for whether the node is a receiver for global illumination.
virtual void GISetIsDiffuse ( BOOL  isDiffuseReflective ) [pure virtual]
Remarks:
K Prototype

Geometry object property - query for whether the node has diffuse properties for usage in global illumination.
virtual void GISetIsSpecular ( BOOL  isSpecular ) [pure virtual]
Remarks:
K Prototype

Geometry object property - query for whether the node has specular properties for usage in global illumination.
virtual void GISetUseGlobalMeshSettings ( BOOL  globalMeshing ) [pure virtual]
Remarks:
K Prototype

Geometry object property - set usage of global rendering context mesh refinement settings..
virtual void GISetMeshingEnabled ( BOOL  meshingEnabled ) [pure virtual]
Remarks:
K Prototype

Geometry object property - set whether mesh refinement is enabled for this pass.
virtual void GISetNbRefineSteps ( unsigned short  nbRefineSteps ) [pure virtual]
Remarks:
K Prototype

Geometry object property - set the number of mesh refinement steps for the regathering pass.
virtual void GISetNbRefineStepsDone ( unsigned short  nbRefineStepsDone ) [pure virtual]
Remarks:
K Prototype

Geometry object property - query the number of steps performed thus far during the mesh refinement stage.
virtual void GISetMeshSize ( float  size ) [pure virtual]
Remarks:
K Prototype

Geometry object property - query for the refinement mesh size for the regathering pass.
virtual BOOL GIGetIsExcludedFromRegather ( ) const [pure virtual]
Remarks:
K Prototype

Geometry object property - query whether this node is to be excluded from the regathering pass.
virtual void GISetIsExcludedFromRegather ( BOOL  isExcluded ) [pure virtual]
Remarks:
K Prototype

Geometry object property - set whether this node is to be excluded from the regathering pass.
virtual BOOL GIGetStoreIllumToMesh ( ) const [pure virtual]
Remarks:
K Prototype

Get light object property.
virtual void GISetStoreIllumToMesh ( BOOL  storeIllum ) [pure virtual]
Remarks:
K Prototype

Set light object property.
virtual BOOL GIGetByLayer ( ) const [pure virtual]
Remarks:
K Prototype

Get 'by layer' flag for radiosity properties.
virtual void GISetByLayer ( BOOL  byLayer ) [pure virtual]
Remarks:
K Prototype

Set the 'by layer' flag for radiosity properties.
virtual float GIGetRayMult ( ) const [pure virtual]
Remarks:
K Prototype

Getting regathering ray multiplier node property
virtual void GISetRayMult ( float  rayMult ) [pure virtual]
Remarks:
K Prototype

Setting regathering ray multiplier node property.

INodeGIProperties INodeGIProperties INodeGIProperties INodeGIProperties INodeGIProperties INodeGIProperties INodeGIProperties INodeGIProperties INodeGIProperties INodeGIProperties
INodeGIProperties INodeGIProperties INodeGIProperties INodeGIProperties INodeGIProperties INodeGIProperties INodeGIProperties INodeGIProperties INodeGIProperties INodeGIProperties