#pragma once #include #include "object.h" namespace kek { class Camera: public DefaultObject { public: glm::vec3 direction; float roll; Camera(); void lookAt(glm::vec3 direction); void lookAtPos(glm::vec3 pos); void setYaw(float degrees); void rotateYaw(float degrees); void setPitch(float degrees); void rotatePitch(float degrees); void setRoll(float degrees); void rotateRoll(float degrees); glm::mat4 transformationMatrix(); void lookAtMatrix(glm::mat4 matrix); // x = yaw, y = pitch, z = roll glm::vec3 eulerAngles(); void applyEuler(glm::vec3 euler); }; }