Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
blob: 63c7aa5769890f0ca5820bea11cd0e07f30a4759 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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__