2D_Game_Engine
Loading...
Searching...
No Matches
camera.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <structs.hpp>
4#include <fontmanager.hpp>
5
6class Camera{
7public:
8 Camera();
9 ~Camera()=default;
10
14 void InitializeProj();
15
19 void DrawSceneProj();
20
24 void ResetSceneProj();
25
26 inline glm::mat4 GetViewMatrix() const{ return m_View; }
27 inline glm::mat4 GetProjMatrix() const{ return m_Proj; }
28 inline glm::mat4 GetViewProjMatrix() const{ return m_ViewProj; }
29
35 void SetPosition(Vec2 pos);
36
43 void Move(float x_offset,float y_offset);
44
50 void SetZoom(float zoom);
51
57 void Zoom(float zoom_offset);
58
63 void SetRotation(float rotation);
64
69 void Rotate(float rotation_offset);
70
75 inline Vec2 GetPosition() const{ return m_Position; }
76
81 inline float GetZoom() const{ return m_Zoom; }
82
87 inline float GetRotation() const{ return m_Rotation; }
88private:
89 Vec2 m_Position;
90 float m_Zoom;
91 float m_Rotation;
92
93 glm::mat4 m_View;
94 glm::mat4 m_Proj;
95 glm::mat4 m_ViewProj;
96};
Camera()
Definition camera.cpp:5
glm::mat4 GetViewProjMatrix() const
Definition camera.hpp:28
void SetZoom(float zoom)
Definition camera.cpp:97
void Zoom(float zoom_offset)
Definition camera.cpp:108
Vec2 GetPosition() const
Definition camera.hpp:75
void DrawSceneProj()
Definition camera.cpp:68
void Move(float x_offset, float y_offset)
Definition camera.cpp:89
void SetRotation(float rotation)
Definition camera.cpp:119
void InitializeProj()
Definition camera.cpp:11
float GetZoom() const
Definition camera.hpp:81
void Rotate(float rotation_offset)
Definition camera.cpp:126
glm::mat4 GetViewMatrix() const
Definition camera.hpp:26
glm::mat4 GetProjMatrix() const
Definition camera.hpp:27
float GetRotation() const
Definition camera.hpp:87
~Camera()=default
void ResetSceneProj()
Definition camera.cpp:75
void SetPosition(Vec2 pos)
Definition camera.cpp:82