#include <glm/glm.hpp>
-#include "controller.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);
void Clip(float near, float far);
const glm::mat4 &Projection() { return projection; }
- const glm::mat4 &View() { return view; }
-
- void Update(int dt);
private:
void UpdateProjection();
float far_clip;
glm::mat4 projection;
- glm::mat4 view;
- glm::mat4 vp;
};