A fundamental concept in computer graphics is "taking a picture" of a defined world and projecting it onto the screen. Thus, we should think of ourselves as photographers using a virtual camera to take and "develop" our pictures of the world.
We establish a virtual camera by picking the camera's location (the eye point), a direction to point the camera (the look-at point) and how we roll the camera (the up vector). We use the OpenGL function gluLookAt to set these parameters.
After establishing the above properties of the camera, we must decide
on a projection method and, in turn, what is in view. There are three OpenGL functions, gluPerspective, glFrustum and glOrtho, available to us for handling this task.