# Cinder

# 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 CameraPersp & | getShadowCamera () 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

enum cinder::gl::Light::Type

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]`

Color cinder::gl::Light::mAmbient`[protected]`

Color cinder::gl::Light::mDiffuse`[protected]`

Color cinder::gl::Light::mSpecular`[protected]`

Vec3f cinder::gl::Light::mPosition`[protected]`

Vec3f cinder::gl::Light::mDirection`[protected]`

float cinder::gl::Light::mSpotExponent`[protected]`

float cinder::gl::Light::mSpotCutoff`[protected]`

float cinder::gl::Light::mConstantAttenuation`[protected]`

float cinder::gl::Light::mLinearAttenuation`[protected]`

float cinder::gl::Light::mQuadraticAttenuation`[protected]`

CameraPersp cinder::gl::Light::mShadowCam`[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:

- include/cinder/gl/Light.h
- src/cinder/gl/Light.cpp