]> git.lizzy.rs Git - dragonblocks3d.git/blob - src/camera.hpp
New structure
[dragonblocks3d.git] / src / camera.hpp
1 #pragma once
2
3 #include "gl.hpp"
4
5 namespace dragonblocks
6 {
7         class Camera
8         {
9                 public:
10                 glm::mat4 getViewMatrix() const;
11                 void toggleMode();
12                 void update(double, double, const glm::vec3 &);
13                 glm::vec3 up() const;
14                 glm::vec3 front() const;
15                 glm::vec3 right() const;
16                 bool thirdPerson() const;
17                 
18                 Camera();
19                 
20                 private:
21                 glm::vec3 pos;
22                 bool m_third_person;
23                 glm::vec3 m_up;
24                 glm::vec3 m_world_up;
25                 glm::vec3 m_front;
26                 glm::vec3 m_right;
27         };
28