]> git.localhorst.tv Git - blank.git/blobdiff - src/camera.hpp
basic aiming
[blank.git] / src / camera.hpp
index 1ab086aeb66d257ac3c773f0cf1ae37dc30f6042..419922a39f1c3ee32578b847d5c21c7f31a3a434 100644 (file)
@@ -3,13 +3,14 @@
 
 #include <glm/glm.hpp>
 
-#include "model.hpp"
+#include "controller.hpp"
+#include "geometry.hpp"
 
 
 namespace blank {
 
 class Camera
-: public Model {
+: public FPSController {
 
 public:
        Camera();
@@ -28,6 +29,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,6 +46,7 @@ private:
        float far_clip;
 
        glm::mat4 projection;
+       glm::mat4 view;
        glm::mat4 vp;
 
 };