get height, camera + cow movement with keys
[demo] / src / camera.h
1 #ifndef CAMERA_H_
2 #define CAMERA_H_
3
4 #include <gmath/gmath.h>
5
6 class Camera {
7 public:
8         Camera();
9         virtual ~Camera();
10
11         virtual Mat4 get_view_matrix() const = 0;
12         virtual void use() const;
13 };
14
15 class OrbitCamera : public Camera {
16 protected:
17         float theta;
18         float phi;
19         float distance;
20
21         Vec3 position;
22
23 public:
24         OrbitCamera();
25         virtual ~OrbitCamera();
26
27         virtual Mat4 get_view_matrix() const override;
28
29         void set_orbit_params(float theta, float phi, float distance);
30         void set_position(float x, float y, float z);
31 };
32
33 Mat4 calc_projection_matrix(float fov_deg, float aspect, float n, float f);
34
35 #endif // CAMERA_H_