Public Member Functions

ISkyLight Class Reference

Search for all occurrences

Detailed Description

class ISkyLight : public BaseInterface

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

ISkyLight is used by the radiosity system and LightTracer to evaluate skylight. It also is used to determine whether the intensity of the light object should be measured as a 3ds Max multiplier (for example Texture Sky) or as a physical quantity (for example the IES Sky).

If a light object's class claims to be a sky, it should derive from ISkyLight and implement IsIntensityInMAXUnits to return true if its intensity is in 3ds Max units, or false if its intensity is in lux. It also needs to implement CreateSkyEval which is used to create an object that can be used to evaluate the skylight at different directions.

Deriving from an interface (such as ISkyLight) also require the child class to override GetInterface() to return the ISkyLight interface pointer. Here is a code example:

BaseInterface* YOUR_CLASS::GetInterface(Interface_ID id)
{ 
   if(id == SKYLIGHT_INTERFACE_ID) 
      return (ISkyLight*) this; 
   else return BaseInterface::GetInterface(id);
}


#include <naturalLight.h>

Inheritance diagram for ISkyLight:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual SkyLightEval CreateSkyEval (TimeValue t, INode *node, const Matrix3 &tm)=0
virtual bool  IsIntensityInMAXUnits () const =0

Member Function Documentation

virtual SkyLightEval* CreateSkyEval ( TimeValue  t,
INode node,
const Matrix3 tm 
) [pure virtual]
Remarks:
This method is used to create the object that samples the sky for the radiosity and global lighting plugins.

Parameters:
TimeValue t

T is the current time

INode *node

node is the node for the light object we are asking to create the SkyLightEval

const Matrix3& tm

tm is a matrix that transforms (0,0,1) to the Zenith direction (that is straight up) for the sky in the scene

virtual bool IsIntensityInMAXUnits ( ) const [pure virtual]

ISkyLight ISkyLight ISkyLight ISkyLight ISkyLight ISkyLight ISkyLight ISkyLight ISkyLight ISkyLight
ISkyLight ISkyLight ISkyLight ISkyLight ISkyLight ISkyLight ISkyLight ISkyLight ISkyLight ISkyLight