4 #include <gmath/gmath.h>
9 Camera(float phi, float theta, float distance, float fov);
12 virtual Mat4 get_view_matrix() const = 0;
13 virtual void use() const;
16 class OrbitCamera : public Camera {
24 OrbitCamera(float theta, float phi, float distance);
25 virtual ~OrbitCamera();
27 virtual Mat4 get_view_matrix() const override;
29 void set_orbit_params(float phi, float theta, float distance);
32 Mat4 calc_projection_matrix(float fov_deg, float aspect, float n, float f);