DeferredRenderer 1.0

ShadowSpot.h

Go to the documentation of this file.
00001 #ifndef SHADOWSPOT_H
00002 #define SHADOWSPOT_H
00003 
00004 #include "SpotLight.h"
00005 #include "ngl/Matrix.h"
00006 #include "Frustum.h"
00007 
00014 class ShadowSpot : public SpotLight
00015 {
00016 public:
00024     ShadowSpot(const ngl::Vector &_position, const ngl::Vector &_target, const float &_distance, const float &_angle, const ngl::Vector &_col, const ngl::Vector &_up);
00025 
00026     ShadowSpot();
00027 
00029     ~ShadowSpot(){}
00030 
00032     unsigned int getMapId(){return m_mapHandle;}
00033 
00035     void generateProjMatrices();
00036 
00038     inline Frustum getFrustum(){return m_frustum;}const
00039 
00041     inline ngl::Matrix getProjView(){return m_projView;}const
00042 
00044     inline ngl::Matrix getProj(){return m_proj;}const
00045 
00047     inline ngl::Matrix getInverseProjView(){return m_invProjView;}
00048 
00050     ngl::Matrix m_shadowView;
00051 
00053     unsigned int m_mapHandle;
00054 
00055 private:
00057     Frustum m_frustum;
00058 
00060     float m_angle;
00061 
00063     ngl::Matrix m_proj;
00064 
00066     ngl::Matrix m_projView;
00067 
00069     ngl::Matrix m_invProjView;
00070 
00071 };
00072 
00073 #endif // SHADOWSPOT_H
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Defines