GLSpotLight Class Reference

#include <GLSpotLight.h>

Inheritance diagram for GLSpotLight:

GLLight List of all members.

Detailed Description

An OpenGL spotlight.

This extends GLLight by adding spot cone parameters and a single shadow map.

Definition at line 20 of file GLSpotLight.h.

Public Member Functions

GLColour & ambient ()
 Set the ambient of this light.
const GLColour & ambient () const
 Get the ambient of this light.
void bindParameters (int slot=0) const
 Bind it.
float coneAngle () const
 Return the cone angle.
float constantAttenuation () const
 Get the constant attenuation.
int createShadowMaps (const std::string &name)
 Create the shadow map.
GLColour & diffuse ()
 Set the diffuse colour of the light.
const GLColour & diffuse () const
 Get the diffuse colour of the light.
const GLVector & direction () const
 The direction.
void disable (int slot=0) const
 Disable the light in a particular slot.
void enable (int slot=0) const
 Enable the light in particular slot.
float exponent () const
 Return the penumbra angle.
boolean getMatrices (uint map, TBMath::CMatrix &View, TBMath::CMatrix &Projection) const
 Get the projection matrix for this light.
int getShadowMapTarget (uint map, const GLRenderTarget **ppTarget) const
 Get the properties for a given shadowmap.
 GLSpotLight (const GLSpotLight &spot)
 Copy constructor.
 GLSpotLight ()
 Constructor.
float linearAttenuation () const
 Get the linear attenuation factor.
GLVector & position ()
 Set the position of the light.
const GLVector & position () const
 Get the position of the light.
const GLTextureprojectedTexture () const
 Get the projected texture.
float quadricAttenuation () const
 Get the quadric attenuation factor.
void regenerateMatrices (float Near=1, float Far=100)
 Regenerate the matrices.
void setConeAngle (float ca)
 Set the cone angle.
void setConstantAttenuation (float c)
 Set the constant attenuation.
void setDirection (GLVector &d)
 Set the direction.
void setExponent (float e)
 Set the penumbra angle.
void setLinearAttenuation (float l)
 Set the linear attenuation factor.
void setProjectedTexture (GLTexture *texture)
 Set the projected texture.
void setQuadricAttenuation (float q)
 Set the quadric attenuation factor.
void setShadowBias (float bias)
 Set the shadow bias.
void setShadowed (bool shadow)
 Switch shadows on or off.
void setShadowFilterSize (uint filter)
 Set the shadow filter size.
void setShadowMapSize (uint size)
 Set the shadow map size.
float shadowBias () const
 The shadow bias.
boolean shadowed () const
 Does this cast a shadow?
uint shadowFilterSize () const
 The shadow filter size.
uint shadowMapCount () const
 Return the number of shadow maps.
float shadowMapFOV () const
 Get the shadow map field of view.
uint shadowMapSize () const
 The shadow map size.
GLColour & specular ()
 Set the specular colour of the light.
const GLColour & specular () const
 Get the specular colour of the light.
 ~GLSpotLight ()
 Destructor.

Protected Attributes

GLColour m_ambient
 The ambient colour.
float m_ConeAngle
 The angle.
float m_const
GLColour m_diffuse
 The diffuse colour.
GLVector m_Direction
 The direction.
float m_Exponent
 The exponent.
float m_linear
GLVector m_position
 The position of the light.
TBMath::CMatrix m_Projection
 The projection matrix.
float m_quad
 The attenuation factors.
float m_shadowBias
 The bias.
boolean m_shadowed
 The shadow toggle.
uint m_shadowFilter
 The shadow map filter size.
GLRenderTargetm_ShadowMap
 The shadow map.
uint m_shadowMapSize
 The shadow map resolution.
GLColour m_specular
 The specular colour.
GLTexturem_Texture
 The projected texture.
TBMath::CMatrix m_View
 The view matrix.


The documentation for this class was generated from the following files:
Generated on Fri Mar 23 12:55:04 2007 for glsldemo by  doxygen 1.5.1-p1