X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fcamera.hpp;h=1477a47ad1703d5ce7e2f0eb07be5a486cc4d35a;hb=4ef32c5a4a5bdb6da8383f66d8265715eb2ed4f9;hp=419922a39f1c3ee32578b847d5c21c7f31a3a434;hpb=4d0ef1687987a0801469c7262f81efd36636605a;p=blank.git diff --git a/src/camera.hpp b/src/camera.hpp index 419922a..1477a47 100644 --- a/src/camera.hpp +++ b/src/camera.hpp @@ -3,38 +3,24 @@ #include -#include "controller.hpp" -#include "geometry.hpp" - namespace blank { -class Camera -: public FPSController { +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); + /// FOV in radians void FOV(float f); void Aspect(float r); 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: void UpdateProjection(); @@ -46,8 +32,6 @@ private: float far_clip; glm::mat4 projection; - glm::mat4 view; - glm::mat4 vp; };