summaryrefslogtreecommitdiff
path: root/gfx/gl/camera.h
blob: 3d8ece44a37c604a5937682d19308a0d637eecde (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#ifndef CAMERA_INCLUDED_H
#define CAMERA_INCLUDED_H

#include <glm/glm.hpp>

class Camera {
public:
	Camera(glm::vec3 pos, float fov, float aspect, float zNear, float zFar);

	[[nodiscard]] glm::mat4 GetViewProjection() const;

	void MoveForward(float amt);
	void SlideForward(float amt);
	void MoveRight(float amt);
	void Pitch(float angle);
	void RotateY(float angle);

	glm::vec3 pos;
	glm::vec3 forward;
	glm::vec3 up;

private:
	glm::mat4 projection;
};

#endif