Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/camera.h')
-rw-r--r--src/client/camera.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/client/camera.h b/src/client/camera.h
new file mode 100644
index 0000000..63c7aa5
--- /dev/null
+++ b/src/client/camera.h
@@ -0,0 +1,44 @@
+/* camera.h
+ This file is part of the Osirion project
+*/
+
+#ifndef __INCLUDED_CAMERA_H__
+#define __INCLUDED_CAMERA_H__
+
+#include "common/vector3f.h"
+
+/// camera functions
+/** The functions in this namespace performs the transformations
+for the camera eye location. The camera always looks at (0,0,0)
+*/
+namespace camera
+{
+ /// draw the OpenGL camera transformation
+ void draw(float elapsed);
+
+ /// rotate the camera left
+ void rotate_left();
+ /// rotate the camera right
+ void rotate_right();
+ /// rotate the camera up
+ void rotate_up();
+ /// rotate the camera down
+ void rotate_down();
+
+ /// switch to next camera mode
+ void nextmode();
+
+ /// camera target
+ /** The location the camera is looking at */
+ extern Vector3f target;
+
+ /// horizontal viewing angle x/z plane
+ extern float horiz_angle;
+ /// vertical viewing angle z/y plane
+ extern float vert_angle;
+ /// distance from the camera to the target
+ /** The distance in game units from the eye of the camera to the target */
+ extern float distance;
+};
+
+#endif // __INCLUDED_CAMERA_H__