# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

NL3D::UPointLight Class Reference

Game interface for manipulating Dynamic Lights. More...

#include <u_point_light.h>

Inheritance diagram for NL3D::UPointLight:

NL3D::UTransform NL3D::UTransformable NL3D::CPointLightUser List of all members.

Public Methods

virtual void setAmbient (NLMISC::CRGBA ambient)=0
 Set the ambient color of the light. Default to Black. More...

virtual void setDiffuse (NLMISC::CRGBA diffuse)=0
 Set the diffuse color of the light. Default to White. More...

virtual void setSpecular (NLMISC::CRGBA specular)=0
 Set the specular color of the light. Default to White. More...

virtual void setColor (NLMISC::CRGBA color)=0
 Set the diffuse and specular color of the light to the same value. don't modify _Ambient. More...

virtual NLMISC::CRGBA getAmbient () const=0
 Get the ambient color of the light. More...

virtual NLMISC::CRGBA getDiffuse () const=0
 Get the diffuse color of the light. More...

virtual NLMISC::CRGBA getSpecular () const=0
 Get the specular color of the light. More...

virtual void setupAttenuation (float attenuationBegin, float attenuationEnd)=0
 setup the attenuation of the light. More...

virtual float getAttenuationBegin () const=0
 get the begin radius of the attenuation. More...

virtual float getAttenuationEnd () const=0
 get the end radius of the attenuation. More...

virtual void enableSpotlight (bool enable)=0
 Setup SpotLight. More...

virtual bool isSpotlight () const=0
 Is Spotlight enabled? More...

virtual void setupSpotAngle (float spotAngleBegin, float spotAngleEnd)=0
 setup the spot AngleBegin and AngleEnd that define spot attenuation of the light. More...

virtual float getSpotAngleBegin () const=0
 get the begin radius of the SpotAngles. More...

virtual float getSpotAngleEnd () const=0
 get the end radius of the SpotAngles. More...

virtual void setDeltaPosToSkeletonWhenOutOfFrustum (const CVector &deltaPos)=0
 setup the deltaPosToSkeletonWhenOutOfFrustum When a light is sticked to a skeleton, and if this skeleton is clipped, then the position of the light can't be computed correctly without animating the skeleton. More...

virtual const CVector & getDeltaPosToSkeletonWhenOutOfFrustum () const=0
 see setDeltaPosToSkeletonWhenOutOfFrustum(). More...


Protected Methods

Object
 UPointLight ()
virtual ~UPointLight ()

Detailed Description

Game interface for manipulating Dynamic Lights.

Author:
Lionel Berenguier , Nevrax France
Date:
2001

Definition at line 45 of file u_point_light.h.


Constructor & Destructor Documentation

NL3D::UPointLight::UPointLight   [inline, protected]
 

Definition at line 51 of file u_point_light.h.

virtual NL3D::UPointLight::~UPointLight   [inline, protected, virtual]
 

Definition at line 52 of file u_point_light.h.


Member Function Documentation

virtual void NL3D::UPointLight::enableSpotlight bool    enable [pure virtual]
 

Setup SpotLight.

SpotLight is disabled by default. The direction of the spot is lead by the J vector of the UPointLight WorldMatrix

Implemented in NL3D::CPointLightUser.

virtual NLMISC::CRGBA NL3D::UPointLight::getAmbient   const [pure virtual]
 

Get the ambient color of the light.

Implemented in NL3D::CPointLightUser.

virtual float NL3D::UPointLight::getAttenuationBegin   const [pure virtual]
 

get the begin radius of the attenuation.

Implemented in NL3D::CPointLightUser.

virtual float NL3D::UPointLight::getAttenuationEnd   const [pure virtual]
 

get the end radius of the attenuation.

Implemented in NL3D::CPointLightUser.

virtual const CVector& NL3D::UPointLight::getDeltaPosToSkeletonWhenOutOfFrustum   const [pure virtual]
 

see setDeltaPosToSkeletonWhenOutOfFrustum().

Implemented in NL3D::CPointLightUser.

virtual NLMISC::CRGBA NL3D::UPointLight::getDiffuse   const [pure virtual]
 

Get the diffuse color of the light.

Implemented in NL3D::CPointLightUser.

virtual NLMISC::CRGBA NL3D::UPointLight::getSpecular   const [pure virtual]
 

Get the specular color of the light.

Implemented in NL3D::CPointLightUser.

virtual float NL3D::UPointLight::getSpotAngleBegin   const [pure virtual]
 

get the begin radius of the SpotAngles.

Implemented in NL3D::CPointLightUser.

virtual float NL3D::UPointLight::getSpotAngleEnd   const [pure virtual]
 

get the end radius of the SpotAngles.

Implemented in NL3D::CPointLightUser.

virtual bool NL3D::UPointLight::isSpotlight   const [pure virtual]
 

Is Spotlight enabled?

Implemented in NL3D::CPointLightUser.

virtual void NL3D::UPointLight::setAmbient NLMISC::CRGBA    ambient [pure virtual]
 

Set the ambient color of the light. Default to Black.

Implemented in NL3D::CPointLightUser.

virtual void NL3D::UPointLight::setColor NLMISC::CRGBA    color [pure virtual]
 

Set the diffuse and specular color of the light to the same value. don't modify _Ambient.

Implemented in NL3D::CPointLightUser.

virtual void NL3D::UPointLight::setDeltaPosToSkeletonWhenOutOfFrustum const CVector &    deltaPos [pure virtual]
 

setup the deltaPosToSkeletonWhenOutOfFrustum When a light is sticked to a skeleton, and if this skeleton is clipped, then the position of the light can't be computed correctly without animating the skeleton.

To allow good position of the light, and to avoid recomputing the skeleton even if it is clipped, the light position is set to skeletonMatrix * this "deltaPosToSkeletonWhenOutOfFrustum".

Default is (0, 0, 1.5). You may change this according to the approximate size of the skeleton (dwarf or giant), and you must take into account any mount (horse etc...). eg for a man on a elephant, a good value would be (0,0,5) :)

Implemented in NL3D::CPointLightUser.

virtual void NL3D::UPointLight::setDiffuse NLMISC::CRGBA    diffuse [pure virtual]
 

Set the diffuse color of the light. Default to White.

Implemented in NL3D::CPointLightUser.

virtual void NL3D::UPointLight::setSpecular NLMISC::CRGBA    specular [pure virtual]
 

Set the specular color of the light. Default to White.

Implemented in NL3D::CPointLightUser.

virtual void NL3D::UPointLight::setupAttenuation float    attenuationBegin,
float    attenuationEnd
[pure virtual]
 

setup the attenuation of the light.

if (0,0) attenuation is disabled. clamp(attenuationBegin,0 , +oo) and clamp(attenuationEnd, attenuationBegin, +oo) By default, attenuation is 10-30. PERFORMANCE WARNING: big lights (disabled attenuation and big attenuationEnd) slow down performances. (by experience, with a factor of 2).

Implemented in NL3D::CPointLightUser.

virtual void NL3D::UPointLight::setupSpotAngle float    spotAngleBegin,
float    spotAngleEnd
[pure virtual]
 

setup the spot AngleBegin and AngleEnd that define spot attenuation of the light.

Usefull only if SpotLight NB: clamp(angleBegin, 0, PI); clamp(angleEnd, angleBegin, PI); Default is PI/4, PI/2

Implemented in NL3D::CPointLightUser.


The documentation for this class was generated from the following file: