diff --git a/include/camera.h b/include/camera.h index 52cf449..73202a4 100644 --- a/include/camera.h +++ b/include/camera.h @@ -17,7 +17,7 @@ namespace OpenArena //Constructors Camera(); //Default Constructor //Purpose: - // + // Creates a new Camera object located at the origin, pointing at the negative z-axis with up being the positive y-axis //Camera(const Camera&); //Copy Constructor //Purpose: @@ -26,62 +26,68 @@ namespace OpenArena //Observer Accessors Vec3f Position(); //Purpose: - // + // Returns the position vector of this camera. + // This vector is the location of the camera. Vec3f View(); //Purpose: - // + // Returns the view vector of this camera. + // This vector is the direction the camera is pointing. Vec3f UpVector(); //Purpose: - // + // Returns the up vector of this camera. + // This vector points up in the rendered view. Vec3f Strafe(); //Purpose: - // + // Returns the strafe vector fo this camera. + // This is the direction StrafeCamera will move //Mutators void PositionCamera(double xpos, double ypos, double zpos, double xview, double yview, double zview, double xup, double yup, double zup); //Purpose: - // + // Relocates and reorientates the camera as determined by the given vector components. void PositionCamera(Vec3f pos, Vec3f view, Vec3f up); //Purpose: - // + // Relocates and reorientates the camera as determined by the given vectos. void Camera::RotateView(double angle, Vec3d axis); //Purpose: - // + // Rotates the camera by angle degrees about the axis specified by axis. void RotateView(double angle, double X, double Y, double Z); //Purpose: - // + // Rotates the camera by angle degrees about the axis specified by the given components. + // Works the same as glRotatef(angle, X, Y, Z). void SetViewByMouse(Window window); //Purpose: - // + // Updates the view Vector based on the change in mouse position since the last time it was called. - void RotateAroundPoint(Vec3f vCenter, double X, double Y, double Z); + //This function needs to be reimagined and better fleshed out. + //void RotateAroundPoint(Vec3f vCenter, double X, double Y, double Z); //Purpose: - // + // Rotates the camera arount the point vCenter X degrees around the x-axis, Y degrees around the y-axis, and Z degrees around the z-axis in that order void StrafeCamera(double speed); //Purpose: - // + // Moves the camera along it's strafe vector speed units. void MoveCamera(double speed); //Purpose: - // + // Moves the camera along it's view vector speed units. void Update(); //Purpose: - // + // Recalculates the strafe vector. void Look(); //Purpose: - // + // Calls gluLookAt with stored values to set the scene to the camera. private: Vec3f m_vPosition;