summaryrefslogtreecommitdiff
path: root/tools/playground/camera.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/playground/camera.h')
-rw-r--r--tools/playground/camera.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/tools/playground/camera.h b/tools/playground/camera.h
new file mode 100644
index 0000000..8a0315d
--- /dev/null
+++ b/tools/playground/camera.h
@@ -0,0 +1,26 @@
+class Camera
+{
+public:
+ rw::Camera *m_rwcam;
+ rw::V3d m_position;
+ rw::V3d m_target;
+ rw::V3d m_up;
+ rw::V3d m_localup;
+
+ float m_fov, m_aspectRatio;
+ float m_near, m_far;
+
+
+ void setTarget(rw::V3d target);
+ float getHeading(void);
+
+ void turn(float yaw, float pitch);
+ void orbit(float yaw, float pitch);
+ void dolly(float dist);
+ void zoom(float dist);
+ void pan(float x, float y);
+
+ void update(void);
+ float distanceTo(rw::V3d v);
+ Camera(void);
+};