Cinder  0.8.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
cinder::dx::Light Class Reference

#include <DxLight.h>

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)
 
int getType () const
 
int getId () const
 
bool enabled () const
 
const ColorgetAmbient () const
 
const ColorgetDiffuse () const
 
const ColorgetSpecular () const
 
const Vec3fgetRelativePosition () const
 
const Vec3fgetRelativeDirection () const
 
float getSpotExponent () const
 
float getSpotCutoff () const
 
float getConstantAtt () const
 
float getLinearAtt () const
 
float getQuadraticAtt () const
 
void enable ()
 
void disable ()
 
void update (const Camera &relativeCamera)
 
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
 
Vec3f mRelativePos
 
Vec3f mRelativeDir
 
float mSpotExponent
 
float mSpotCutoff
 
float mConstantAttenuation
 
float mLinearAttenuation
 
float mQuadraticAttenuation
 
CameraPersp mShadowCam
 
float mShadowFOV
 
float mShadowNear
 
float mShadowFar
 

Member Enumeration Documentation

enum cinder::dx::Light::Type
Enumerator
POINT 
DIRECTIONAL 
SPOTLIGHT 

Constructor & Destructor Documentation

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

Member Function Documentation

void cinder::dx::Light::setAmbient ( const Color aAmbient)
void cinder::dx::Light::setDiffuse ( const Color aDiffuse)
void cinder::dx::Light::setSpecular ( const Color aSpecular)
void cinder::dx::Light::lookAt ( const Vec3f eye,
const Vec3f target 
)
void cinder::dx::Light::setDirection ( const Vec3f aDirection)
Vec3f cinder::dx::Light::getPosition ( ) const
void cinder::dx::Light::setPosition ( const Vec3f aPosition)
void cinder::dx::Light::setAttenuation ( float  aConstantAttenuation,
float  aLinearAttenuation = 1.0f,
float  aQuadraticAttenuation = 1.0f 
)
void cinder::dx::Light::setConstantAttenuation ( float  aConstantAttenuation)
void cinder::dx::Light::setLinearAttenuation ( float  aLinearAttenuation)
void cinder::dx::Light::setQuadraticAttenuation ( float  aQuadraticAttenuation)
void cinder::dx::Light::setSpotExponent ( float  aSpotExponent)
void cinder::dx::Light::setSpotCutoff ( float  aSpotCutoff)
int cinder::dx::Light::getType ( ) const
int cinder::dx::Light::getId ( ) const
bool cinder::dx::Light::enabled ( ) const
const Color& cinder::dx::Light::getAmbient ( ) const
const Color& cinder::dx::Light::getDiffuse ( ) const
const Color& cinder::dx::Light::getSpecular ( ) const
const Vec3f& cinder::dx::Light::getRelativePosition ( ) const
const Vec3f& cinder::dx::Light::getRelativeDirection ( ) const
float cinder::dx::Light::getSpotExponent ( ) const
float cinder::dx::Light::getSpotCutoff ( ) const
float cinder::dx::Light::getConstantAtt ( ) const
float cinder::dx::Light::getLinearAtt ( ) const
float cinder::dx::Light::getQuadraticAtt ( ) const
void cinder::dx::Light::enable ( )
void cinder::dx::Light::disable ( )
void cinder::dx::Light::update ( const Camera relativeCamera)
void cinder::dx::Light::setShadowParams ( float  aShadowFOV,
float  aShadowNear,
float  aShadowFar 
)
void cinder::dx::Light::setShadowRenderMatrices ( ) const
Matrix44f cinder::dx::Light::getShadowTransformationMatrix ( const Camera camera) const
const CameraPersp& cinder::dx::Light::getShadowCamera ( ) const
void cinder::dx::Light::setDefaults ( )
protected

Member Data Documentation

int cinder::dx::Light::mType
protected
int cinder::dx::Light::mID
protected
bool cinder::dx::Light::mEnabled
protected
Color cinder::dx::Light::mAmbient
protected
Color cinder::dx::Light::mDiffuse
protected
Color cinder::dx::Light::mSpecular
protected
Vec3f cinder::dx::Light::mPosition
protected
Vec3f cinder::dx::Light::mDirection
protected
Vec3f cinder::dx::Light::mRelativePos
protected
Vec3f cinder::dx::Light::mRelativeDir
protected
float cinder::dx::Light::mSpotExponent
protected
float cinder::dx::Light::mSpotCutoff
protected
float cinder::dx::Light::mConstantAttenuation
protected
float cinder::dx::Light::mLinearAttenuation
protected
float cinder::dx::Light::mQuadraticAttenuation
protected
CameraPersp cinder::dx::Light::mShadowCam
protected
float cinder::dx::Light::mShadowFOV
protected
float cinder::dx::Light::mShadowNear
protected
float cinder::dx::Light::mShadowFar
protected

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