ComputerGraphik TU WIEN
Classes | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
LightCamera Class Reference

#include <lightCamera.hpp>

Inheritance diagram for LightCamera:
Camera SceneObject

Classes

class  EffectObjectLightCamShadow
 

Public Member Functions

 LightCamera (const std::string &name, Scene *scene, glm::vec3 &pos, glm::vec3 &up, glm::vec3 &eye, float fov, float near, float far)
 
virtual ~LightCamera ()
 
void drawShadowMap ()
 
void draw () const
 
void reset ()
 
void setShader (Shader *val)
 
void update (double deltaT)
 
- Public Member Functions inherited from Camera
 Camera (const std::string &name, Scene *scene, const glm::vec3 &eye=glm::vec3(0,-10, 5), float vAngle=-3.14f, float hAngle=3.14f, float fov=60.0f, float near=0.01f, float far=20.0f)
 Construct new camera. More...
 
 Camera (const std::string &name, Scene *scene, glm::vec3 &pos, glm::vec3 &up, glm::vec3 &eye, float fov, float near, float far)
 Construct new camera. More...
 
virtual ~Camera ()
 
bool animate (double time)
 
bool movement ()
 
float getNearClip ()
 
float getFarClip ()
 
void initializeLookupVector ()
 
void setViewMatrix (const glm::mat4 &modelMatrix)
 
glm::mat4 getViewMatrix () const
 
glm::mat4 getProjectionMatrix () const
 
- Public Member Functions inherited from SceneObject
 SceneObject (std::shared_ptr< SceneObject > &effectParent, const glm::mat4 &modelMatrix=glm::mat4(1))
 
 SceneObject (const std::string &name, Scene *scene=0, Model *model=0, const glm::mat4 &modelMatrix=glm::mat4(1))
 
virtual ~SceneObject ()
 
ModelgetModel () const
 
ShadergetShader () const
 
glm::mat4 getModelMatrix () const
 
glm::mat4 getGlobalModelMatrix () const
 
std::string getName () const
 
std::shared_ptr< SceneObjectgetParent () const
 
void setAnimationTime (double time)
 
bool setAnimation (const Animation &anim)
 
bool delChild (size_t idx)
 
bool getChild (size_t idx, std::shared_ptr< SceneObject > &child) const
 
bool addChild (std::shared_ptr< SceneObject > &child)
 
bool remEffect (const std::string &name)
 
SceneObjectgetEffect (const std::string &name) const
 
bool addEffect (const std::string &name, std::unique_ptr< SceneObject > &effect)
 
bool doNotRender ()
 
bool getIsVolSun ()
 

Private Member Functions

void setUpDepthTexture ()
 

Private Attributes

Shadershader
 
GLuint frameBuffer
 
GLuint depthTexture
 

Friends

class EffectObjectLightCamShadow
 

Additional Inherited Members

- Public Types inherited from SceneObject
typedef std::vector< std::pair< double, glm::mat4 > > Animation
 
- Protected Attributes inherited from Camera
double cursorX
 
double cursorY
 
float fov
 
float farClip
 
float nearClip
 
glm::vec3 up
 
glm::vec3 eye
 
glm::vec3 pos
 
glm::mat4 viewMatrix
 
glm::mat4 projectionMatrix
 
- Protected Attributes inherited from SceneObject
GLuint vao
 
Scenescene
 
Modelmodel
 
Shadershader
 
glm::mat4 modelMatrix
 
std::string name
 
std::weak_ptr< SceneObjectparent
 
std::vector< std::shared_ptr< SceneObject > > childs
 
std::map< std::string, std::unique_ptr< SceneObject > > effectChilds
 
size_t animIDX
 
Animation animation
 
bool norender
 
bool isVolSun
 

Constructor & Destructor Documentation

LightCamera::LightCamera ( const std::string &  name,
Scene scene,
glm::vec3 &  pos,
glm::vec3 &  up,
glm::vec3 &  eye,
float  fov,
float  near,
float  far 
)
LightCamera::~LightCamera ( )
virtual

Member Function Documentation

void LightCamera::draw ( ) const
virtual

Reimplemented from Camera.

void LightCamera::drawShadowMap ( )
void LightCamera::reset ( )
virtual

Reimplemented from SceneObject.

void LightCamera::setShader ( Shader val)
virtual

Reimplemented from Camera.

void LightCamera::setUpDepthTexture ( )
private
void LightCamera::update ( double  deltaT)
virtual

Reimplemented from Camera.

Friends And Related Function Documentation

friend class EffectObjectLightCamShadow
friend

Member Data Documentation

GLuint LightCamera::depthTexture
private
GLuint LightCamera::frameBuffer
private
Shader* LightCamera::shader
private

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