aboutsummaryrefslogtreecommitdiffstats
path: root/yage/core/camera2d.h
diff options
context:
space:
mode:
authorYann Herklotz <ymherklotz@gmail.com>2017-10-31 22:11:18 +0000
committerYann Herklotz <ymherklotz@gmail.com>2017-10-31 22:11:18 +0000
commitf776df6076725d14679b31168e3ede53c966182e (patch)
treeb843d7ef0d0722a1b3571ee09aa1345d19c60e7f /yage/core/camera2d.h
parent1bb0ef8960c71ef505a351702bec54c01ba15e22 (diff)
downloadYAGE-f776df6076725d14679b31168e3ede53c966182e.tar.gz
YAGE-f776df6076725d14679b31168e3ede53c966182e.zip
renaming base folder
Diffstat (limited to 'yage/core/camera2d.h')
-rw-r--r--yage/core/camera2d.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/yage/core/camera2d.h b/yage/core/camera2d.h
new file mode 100644
index 00000000..a60893ac
--- /dev/null
+++ b/yage/core/camera2d.h
@@ -0,0 +1,38 @@
+/* ----------------------------------------------------------------------------
+ * camera2d.h
+ *
+ * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com>
+ * MIT License, see LICENSE file for more details.
+ * ----------------------------------------------------------------------------
+ */
+
+#ifndef YAGE_CAMERA2D_H
+#define YAGE_CAMERA2D_H
+
+#include "glslprogram.h"
+
+#include <glm/glm.hpp>
+#include <glm/gtc/matrix_transform.hpp>
+
+namespace yage
+{
+
+class Camera2D
+{
+private:
+ bool update_matrix_ = 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);
+
+ void update(GlslProgram &program);
+ void move(const glm::vec2 &direction);
+};
+
+} // namespace yage
+
+#endif