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);
}