AireEngine
A 3D Open-World Game Engine
Loading...
Searching...
No Matches
camera.h
1#pragma once
2#include <glm/glm.hpp>
3#include "../utils/config.h"
4#include "../utils/rigidbody.h"
5
6namespace Aire {
9 class Camera {
10 public:
16 Camera(Rigidbody* rigidbody, Config config, glm::vec3 offset = glm::vec3(0,0,0));
17
19 Camera() = default;
20
21
25 void update(glm::vec3 forward, glm::vec3 up);
26
29 glm::mat4 getViewMatrix() const;
30
33 glm::mat4 getProjectionMatrix() const;
34
36 glm::vec3 camOffset;
37
39 glm::vec3 position;
40
41 private:
43 Rigidbody* rb;
44
46 glm::mat4 ViewMatrix;
47
49 glm::mat4 ProjectionMatrix;
50 };
51}
Definition camera.h:9
glm::vec3 camOffset
Offset from rigidbody.
Definition camera.h:36
glm::vec3 position
World position of the camera.
Definition camera.h:39
glm::mat4 getViewMatrix() const
Definition camera.cpp:25
glm::mat4 getProjectionMatrix() const
Definition camera.cpp:29
Camera()=default
Default constructor for camera.
void update(glm::vec3 forward, glm::vec3 up)
Definition camera.cpp:16
Definition config.h:11
Definition rigidbody.h:8