Page 143 - Computer Graphics Handout
P. 143
Chapter 4
VIEWING
We have completed our discussion of the first half of the synthetic camera model—specifying objects in three dimensions. We
now investigate the multitude of ways in which we can describe our virtual camera. Along the way, we examine related topics, such
as the relationship between classical viewing techniques and computer viewing and how projection is implemented using projective
transformations. There are three parts to our approach. First, we look at the types of views that we can create and why we need
more than one type of view. Then we examine how an application program can specify a particular view within OpenGL. We will see
that the viewing process has two parts. In the first, we use the model-view matrix to switch vertex representations from the object
frame in which we defined our objects to their representation in the eye frame, in which the camera is at the origin. This
representation of the geometry will allow us to use canonical viewing procedures. The second part of the process deals with the
type of projection we prefer (parallel or perspective) and the part of the world we wish to image (the clipping or view volume).
These specifications will allow us to form a projection matrix that is concatenated with the model-view matrix. Finally, we derive
the projection matrices that describe the most important parallel and perspective views and investigate how to carry out these
projections in OpenGL.
4.1 CLASSICAL AND COMPUTER VIEWING
Before looking at the interface between computer-graphics systems and application programs for three-dimensional viewing, we
take a slight diversion to consider classical viewing. There are two reasons for examining classical viewing. First, many of the jobs
that were formerly done by hand drawing—such as animation in movies, architectural rendering, drafting, and mechanical-parts
design—are now routinely done with the aid of computer graphics. Practitioners of these fields need to be able to produce classical
views—such as isometrics, elevations, and various perspectives—and thus must be able to use the computer system to produce
such renderings. Second, the relationships between classical and computer viewing show many advantages of, and a few difficulties
with, the approach used by most APIs.
143

