/* ---------------------------------------------------------------------------- * camera2d.hpp * * Copyright (c) 2017 Yann Herklotz Grave * MIT License, see LICENSE file for more details. * ---------------------------------------------------------------------------- */ #ifndef CAMERA_2D_HPP #define CAMERA_2D_HPP #include "glslprogram.hpp" #include #include namespace yage { class Camera2D { private: bool matrix_needs_update_ = true; float scale_ = 1; glm::vec2 position_; glm::mat4 camera_matrix_; glm::mat4 ortho_matrix_; public: Camera2D(int screen_width = 1280, int screen_height = 720); // update camera location void update(GlslProgram& program); // camera movement void move(const glm::vec2& direction); }; } // yage #endif