#ifndef CAMERA_H_ #define CAMERA_H_ #include "entity.h" #include "../lib/glm/glm.hpp" class Camera : public Entity { public: Camera(); [[nodiscard]] const glm::mat4& projection() const { return projection_; } void set_projection(const glm::mat4& proj) { projection_ = proj; } [[nodiscard]] const glm::ivec4& viewport() const { return viewport_; } void set_viewport(const glm::ivec4& vp) { viewport_ = vp; } [[nodiscard]] const glm::vec3& clear_color() const { return clear_color_; } void set_clear_color(const glm::vec3& color) { clear_color_ = color; } void prepare(); private: glm::mat4 projection_; glm::ivec4 viewport_; glm::vec3 clear_color_; }; #endif // CAMERA_H_