cinder::gl::Light Class Reference

#include <Light.h>

List of all members.

Public Types

enum  Type { POINT, DIRECTIONAL, SPOTLIGHT }

Public Member Functions

 Light (int aType, int aID)
void setAmbient (const Color &aAmbient)
void setDiffuse (const Color &aDiffuse)
void setSpecular (const Color &aSpecular)
void lookAt (const Vec3f &eye, const Vec3f &target)
void setDirection (const Vec3f &aDirection)
Vec3f getPosition () const
void setPosition (const Vec3f &aPosition)
void setAttenuation (float aConstantAttenuation, float aLinearAttenuation=1.0f, float aQuadraticAttenuation=1.0f)
void setConstantAttenuation (float aConstantAttenuation)
void setLinearAttenuation (float aLinearAttenuation)
void setQuadraticAttenuation (float aQuadraticAttenuation)
void setSpotExponent (float aSpotExponent)
void setSpotCutoff (float aSpotCutoff)
void enable ()
void disable ()
void update (const Camera &relativeCamera) const
void setShadowParams (float aShadowFOV, float aShadowNear, float aShadowFar)
void setShadowRenderMatrices () const
Matrix44f getShadowTransformationMatrix (const Camera &camera) const
const CameraPerspgetShadowCamera () const

Protected Member Functions

void setDefaults ()

Protected Attributes

int mType
int mID
bool mEnabled
Color mAmbient
Color mDiffuse
Color mSpecular
Vec3f mPosition
Vec3f mDirection
float mSpotExponent
float mSpotCutoff
float mConstantAttenuation
float mLinearAttenuation
float mQuadraticAttenuation
CameraPersp mShadowCam
float mShadowFOV
float mShadowNear
float mShadowFar

Member Enumeration Documentation

Enumerator:
POINT 
DIRECTIONAL 
SPOTLIGHT 

Constructor & Destructor Documentation

cinder::gl::Light::Light ( int  aType,
int  aID 
)

Member Function Documentation

void cinder::gl::Light::setAmbient ( const Color aAmbient  ) 
void cinder::gl::Light::setDiffuse ( const Color aDiffuse  ) 
void cinder::gl::Light::setSpecular ( const Color aSpecular  ) 
void cinder::gl::Light::lookAt ( const Vec3f eye,
const Vec3f target 
)
void cinder::gl::Light::setDirection ( const Vec3f aDirection  ) 
Vec3f cinder::gl::Light::getPosition (  )  const
void cinder::gl::Light::setPosition ( const Vec3f aPosition  ) 
void cinder::gl::Light::setAttenuation ( float  aConstantAttenuation,
float  aLinearAttenuation = 1.0f,
float  aQuadraticAttenuation = 1.0f 
)
void cinder::gl::Light::setConstantAttenuation ( float  aConstantAttenuation  ) 
void cinder::gl::Light::setLinearAttenuation ( float  aLinearAttenuation  ) 
void cinder::gl::Light::setQuadraticAttenuation ( float  aQuadraticAttenuation  ) 
void cinder::gl::Light::setSpotExponent ( float  aSpotExponent  ) 
void cinder::gl::Light::setSpotCutoff ( float  aSpotCutoff  ) 
void cinder::gl::Light::enable (  ) 
void cinder::gl::Light::disable (  ) 
void cinder::gl::Light::update ( const Camera relativeCamera  )  const
void cinder::gl::Light::setShadowParams ( float  aShadowFOV,
float  aShadowNear,
float  aShadowFar 
)
void cinder::gl::Light::setShadowRenderMatrices (  )  const
Matrix44f cinder::gl::Light::getShadowTransformationMatrix ( const Camera camera  )  const
const CameraPersp& cinder::gl::Light::getShadowCamera (  )  const
void cinder::gl::Light::setDefaults (  )  [protected]

Member Data Documentation

int cinder::gl::Light::mType [protected]
int cinder::gl::Light::mID [protected]
bool cinder::gl::Light::mEnabled [protected]
float cinder::gl::Light::mSpotCutoff [protected]
float cinder::gl::Light::mShadowFOV [protected]
float cinder::gl::Light::mShadowNear [protected]
float cinder::gl::Light::mShadowFar [protected]

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