28 lines
637 B
C++
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);
|
|
};
|