#pragma once #include struct Camera { glm::vec3 pos = glm::vec3(0.0f, 0.0f, 3.0f); glm::vec3 front = glm::vec3(0.0f, 0.0f, -1.0f); glm::vec3 up = glm::vec3(0.0f, 1.0f, 0.0f); glm::vec3 direction = glm::vec3(0.0f, 0.0f, 0.0f); float movementSpeed = 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; glm::mat4 lookAt(); 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); };