openblocks/src/camera.h
2024-11-17 13:11:53 +01:00

31 lines
650 B
C++

#pragma once
#include <glm/glm.hpp>
enum Direction {
DIRECTION_FORWARD,
DIRECTION_BACKWARDS,
DIRECTION_RIGHT,
DIRECTION_LEFT,
DIRECTION_UP,
DIRECTION_DOWN,
};
class Camera {
public:
glm::vec3 cameraPos;
glm::vec3 cameraFront = glm::vec3(0.0f, 0.0f, -1.0f);
glm::vec3 cameraUp = glm::vec3(0.0f, 1.0f, 0.0f);
float pitch = 0., yaw = -90., roll = 0.;
float movementSpeed = 10.0f;
float mouseSensitivity = 0.2f;
Camera(glm::vec3 initialPosition);
glm::mat4 getLookAt();
void processRotation(float deltaX, float deltaY);
void processMovement(Direction direction, float deltaTime);
};