]> git.localhorst.tv Git - blank.git/blobdiff - src/camera.hpp
simple HUD
[blank.git] / src / camera.hpp
index 33c69d373fd3327dea38e4cbc92ba9b29e7cfce4..805109c313af3a8f0fd692448e02c7bab7190b0c 100644 (file)
@@ -4,6 +4,7 @@
 #include <glm/glm.hpp>
 
 #include "controller.hpp"
+#include "geometry.hpp"
 
 
 namespace blank {
@@ -13,13 +14,10 @@ class Camera
 
 public:
        Camera();
-       ~Camera();
 
        Camera(const Camera &) = delete;
        Camera &operator =(const Camera &) = delete;
 
-       glm::mat4 MakeMVP(const glm::mat4 &m) const { return vp * m; }
-
        void Viewport(int width, int height);
        void Viewport(int x, int y, int width, int height);
 
@@ -28,6 +26,11 @@ public:
        void Aspect(float w, float h);
        void Clip(float near, float far);
 
+       Ray Aim() const;
+
+       const glm::mat4 &Projection() { return projection; }
+       const glm::mat4 &View() { return view; }
+
        void Update(int dt);
 
 private:
@@ -40,7 +43,7 @@ private:
        float far_clip;
 
        glm::mat4 projection;
-       glm::mat4 vp;
+       glm::mat4 view;
 
 };