RenderEngine
Loading...
Searching...
No Matches
Camera.hpp
Go to the documentation of this file.
1/*
2 * Camera.hpp
3 *
4 * by Stefanie Zollmann
5 *
6 * Camera class.
7 *
8 */
9
10#ifndef CAMERA_HPP
11#define CAMERA_HPP
12
13// Include GLM
14#include <glm/glm.hpp>
15#include <glm/gtc/matrix_transform.hpp>
16
18
22class Camera{
23
24public:
26
27 Camera();
29
30 Camera(glm::mat4 projectionMat, glm::mat4 viewMat);
32
33 glm::mat4 getViewProjectionMatrix();
35
36 glm::mat4 getViewMatrix();
38
39 glm::mat4 getProjectionatrix();
40
42
43 glm::vec3 getPosition();
44
46
47 void setCameraOrientation(float vertAngle, float horzAngle);
49
50 void setLookAt(glm::vec3 lookAt);
52
53 void setLookAt(glm::vec3 pos,glm::vec3 lookAt, glm::vec3 up);
55
56 void setPosition(glm::vec3 pos);
57
59
60 void updateAngles();
61
62
63private:
64 glm::mat4 m_projectionMatrix;
65 glm::mat4 m_viewMatrix;
66
67 // camera pose parameters
68 // Initial position : on +Z
69 glm::vec3 m_position;
70 glm::vec3 m_lookat;
71 glm::vec3 m_up;
72
73 //orienation of the camera
74 float m_horizontalAngle;
75 float m_verticalAngle;
76
77 // camera intrinsics
78 float m_foV;
79
80
81};
82
83
84
85#endif
86
Camera.
Definition Camera.hpp:22
Camera()
Default constructor.
Definition Camera.cpp:12
glm::mat4 getViewProjectionMatrix()
Access viewprojection matrix.
Definition Camera.cpp:36
void setLookAt(glm::vec3 lookAt)
Set lookat vector.
Definition Camera.cpp:70
void updateAngles()
Update angles.
Definition Camera.cpp:103
glm::vec3 getPosition()
Access camera position.
Definition Camera.cpp:55
glm::mat4 getViewMatrix()
getViewMatrix
Definition Camera.cpp:42
void setCameraOrientation(float vertAngle, float horzAngle)
Set camera orientation.
Definition Camera.cpp:62
void setPosition(glm::vec3 pos)
Set position.
Definition Camera.cpp:92
glm::mat4 getProjectionatrix()
getProjectionatrix
Definition Camera.cpp:48