added a camera class and created a camera that I am not using yet :p
[vkrt] / src / camera.h
diff --git a/src/camera.h b/src/camera.h
new file mode 100644 (file)
index 0000000..0f70040
--- /dev/null
@@ -0,0 +1,34 @@
+#ifndef CAMERA_H_
+#define CAMERA_H_
+
+#include <gmath/gmath.h>
+
+class Camera {
+public:
+       Camera();
+       virtual ~Camera();
+
+       virtual Mat4 get_view_matrix() const = 0;
+};
+
+class OrbitCamera : public Camera {
+protected:
+       float theta;
+       float phi;
+       float distance;
+
+       Vec3 position;
+
+public:
+       OrbitCamera();
+       virtual ~OrbitCamera();
+
+       virtual Mat4 get_view_matrix() const override;
+
+       void set_orbit_params(float theta, float phi, float distance);
+       void set_position(float x, float y, float z);
+};
+
+Mat4 calc_projection_matrix(float fov_deg, float aspect, float n, float f);
+
+#endif // CAMERA_H_