X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fcamera.hpp;h=805109c313af3a8f0fd692448e02c7bab7190b0c;hb=41e0223ec090142bf03066f4f5fc1f5005095072;hp=33c69d373fd3327dea38e4cbc92ba9b29e7cfce4;hpb=81531352f0af10ef357e82595098fa596795f000;p=blank.git diff --git a/src/camera.hpp b/src/camera.hpp index 33c69d3..805109c 100644 --- a/src/camera.hpp +++ b/src/camera.hpp @@ -4,6 +4,7 @@ #include #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; };