diff options
Diffstat (limited to 'src/client/camera.h')
-rw-r--r-- | src/client/camera.h | 44 |
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__ |