X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fcamera.hpp;h=3adb800ce344b03da6a2261d5486c2ef4fd58365;hb=8881c507009521d08648560984c0f50166224542;hp=1ab086aeb66d257ac3c773f0cf1ae37dc30f6042;hpb=49c81f76b80e0de99ca57db49510eb5e3385e1d1;p=blank.git diff --git a/src/camera.hpp b/src/camera.hpp index 1ab086a..3adb800 100644 --- a/src/camera.hpp +++ b/src/camera.hpp @@ -3,17 +3,17 @@ #include -#include "model.hpp" +#include "controller.hpp" +#include "geometry.hpp" namespace blank { class Camera -: public Model { +: public FPSController { public: Camera(); - ~Camera(); Camera(const Camera &) = delete; Camera &operator =(const Camera &) = delete; @@ -28,6 +28,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 +45,7 @@ private: float far_clip; glm::mat4 projection; + glm::mat4 view; glm::mat4 vp; };