learn-opengl/17-refactor-bug-fix/src/camera.hpp

28 lines
637 B
C++

#pragma once
#include <glm/glm.hpp>
struct Camera {
glm::vec3 position{0.0f, 0.0f, 3.0f};
glm::vec3 front{0.0f, 0.0f, -1.0f};
glm::vec3 up{0.0f, 1.0f, 0.0f};
glm::vec3 direction{0.0f, 0.0f, 0.0f};
float movement_speed = 20.0f;
float pitch = 0.0f;
float yaw = -90.0f;
float speed = 0.05f;
float lastX = 400;
float lastY = 300;
float fov = 45.0f;
bool firstMouse = true;
bool dirty = true;
glm::mat4 look_at();
void forward();
void back();
void left();
void right();
void update(float deltaTime);
void mouse_move(double xpos, double ypos);
void mouse_scroll(double xoffset, double yoffset);
};