projects
/
demo
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
srgb textures, cubemap support
[demo]
/
src
/
camera.h
diff --git
a/src/camera.h
b/src/camera.h
index
8b3a895
..
0ded6be
100644
(file)
--- a/
src/camera.h
+++ b/
src/camera.h
@@
-5,16
+5,30
@@
class Camera {
public:
class Camera {
public:
- float phi;
+ Camera();
+ Camera(float phi, float theta, float distance, float fov);
+ virtual ~Camera();
+
+ virtual Mat4 get_view_matrix() const = 0;
+ virtual void use() const;
+};
+
+class OrbitCamera : public Camera {
+protected:
float theta;
float theta;
+ float phi;
float distance;
float distance;
- Mat4 m_projection;
- float fov;
+public:
+ OrbitCamera();
+ OrbitCamera(float theta, float phi, float distance);
+ virtual ~OrbitCamera();
- Camera();
- Camera(float phi, float theta, float distance, float fov);
- ~Camera();
+ virtual Mat4 get_view_matrix() const override;
+
+ void set_orbit_params(float phi, float theta, float distance);
};
};
+Mat4 calc_projection_matrix(float fov_deg, float aspect, float n, float f);
+
#endif // CAMERA_H_
\ No newline at end of file
#endif // CAMERA_H_
\ No newline at end of file