BMC Engine v1.0.0
An open-source game engine powered by C and C++
Loading...
Searching...
No Matches
Camera.h
1#ifndef CAMERA_H
2#define CAMERA_H
3
4#include <glad/glad.h>
5#include <GLFW/glfw3.h>
6
7#define GLM_ENABLE_EXPERIMENTAL
8
9#include <glm/glm.hpp>
10#include <glm/gtc/matrix_transform.hpp>
11#include <glm/gtc/type_ptr.hpp>
12#include <glm/gtx/rotate_vector.hpp>
13//#include <glm/gtx/vector_angle.hpp>
14
15#include "../shaders/Shader.h"
16#include "../../rendering/window/Window.h"
17
22class Camera {
23public:
27 glm::vec3 position;
28
32 glm::vec3 orientation = glm::vec3(0.0f, 0.0f, -1.0f);
33
37 glm::vec3 up = glm::vec3(0.0f, 1.0f, 0.0f);
38
42 glm::mat4 cameraMatrix = glm::mat4(1.0f);
43
47 bool firstClick = true;
48
53
58
62 float speed = 0.012f;
63
67 float sensitivity = 365.5f;
68
75 Camera(int winWidth, int winHeight, glm::vec3 position);
76
82 Camera(Vector2* size, glm::vec3 position);
83
90 void updateMatrix(float FOVdeg, float nearPlane, float farPlane);
91
97 void matrix(Shader* shader, const char* uniform);
98
103 void inputs(Window* window);
104};
105
106#endif // CAMERA_H
Definition Camera.h:22
glm::vec3 position
Definition Camera.h:27
void inputs(Window *window)
Definition Camera.cpp:33
glm::vec3 orientation
Definition Camera.h:32
float speed
Definition Camera.h:62
glm::vec3 up
Definition Camera.h:37
float sensitivity
Definition Camera.h:67
int winHeight
Definition Camera.h:57
void matrix(Shader *shader, const char *uniform)
Definition Camera.cpp:28
bool firstClick
Definition Camera.h:47
glm::mat4 cameraMatrix
Definition Camera.h:42
int winWidth
Definition Camera.h:52
Camera(int winWidth, int winHeight, glm::vec3 position)
Definition Camera.cpp:3
void updateMatrix(float FOVdeg, float nearPlane, float farPlane)
Definition Camera.cpp:17
Definition Shader.h:21
Definition Vector.h:7
Definition Window.h:23