#include <gl\glut.h>
#define PI 3.1415926535897932384626433832795
#define PIdiv180 (PI/180.0)
struct Camera3dVector {
GLfloat x,y,z;
};
Camera3dVector F3dVector ( GLfloat x, GLfloat y, GLfloat z );
class GlCamera
{
private:
Camera3dVector viewDir;
Camera3dVector rightVector;
Camera3dVector upVector;
Camera3dVector position;
GLfloat rotatedX, rotatedY, rotatedZ;
public:
GlCamera(); void render ( void );
void move ( Camera3dVector direction );
void rotateX ( GLfloat angle );
void rotateY ( GLfloat angle );
void rotateZ ( GLfloat angle );
void moveForward ( GLfloat distance );
void noveUpward ( GLfloat distance );
void strafeRight ( GLfloat distance );
};