Models and Architectures
Ed Angel
Professor of Computer Science,
Electrical and Computer
Engineering, and Media Arts
University of New Mexico
Objectives
• Learn the basic design of a graphics
system
• Introduce pipeline architecture
• Examine software components for an
interactive graphics system
Angel: Interactive Computer Graphics 3E © Addison-Wesley 2002 2
Image Formation Revisited
• Can we mimic the synthetic camera
model to design graphics hardware
software?
• Application Programmer Interface (API)
- Need only specify
• Objects
• Materials
• Viewer
• Lights
• But how is the API implemented?
Angel: Interactive Computer Graphics 3E © Addison-Wesley 2002 3
Physical Approaches
• Ray tracing: follow rays of light from center of
projection until they either are absorbed by
objects or go off to infinity
- Can handle global effects
• Multiple reflections
• Translucent objects
- Slow
- Need whole data base
• Radiosity: Energy based approach
- Very slow
Angel: Interactive Computer Graphics 3E © Addison-Wesley 2002 4
Practical Approach
• Process objects one at a time in the order
they are generated by the application
- Can consider only local lighting
• Pipeline architecture
application display
program
• All steps can be implemented in hardware
on the graphics card
Angel: Interactive Computer Graphics 3E © Addison-Wesley 2002 5
The Programmer’s Interface
• Programmer sees the graphics system
through a software interface: the
Application Programmer Interface (API)
Angel: Interactive Computer Graphics 3E © Addison-Wesley 2002 6
API Contents
• Functions that specify what we need to
form an image
- Objects
- Viewer
- Light Source(s)
- Materials
• Other information
- Input from devices such as mouse and keyboard
- Capabilities of system
Angel: Interactive Computer Graphics 3E © Addison-Wesley 2002 7
Object Specification
• Most APIs support a limited set of
primitives including
- Points (0D object)
- Line segments (1D objects)
- Polygons (2D objects)
- Some curves and surfaces
• Quadrics
• Parametric polynomials
• All are defined through locations in space
or vertices
Angel: Interactive Computer Graphics 3E © Addison-Wesley 2002 8
Example
type of object
location of vertex
glBegin(GL_POLYGON)
glVertex3f(0.0, 0.0, 0.0);
glVertex3f(0.0, 1.0, 0.0);
glVertex3f(0.0, 0.0, 1.0);
glEnd( );
end of object definition
Angel: Interactive Computer Graphics 3E © Addison-Wesley 2002 9
Camera Specification
• Six degrees of freedom
- Position of center of lens
- Orientation
• Lens
• Film size
• Orientation of film plane
Angel: Interactive Computer Graphics 3E © Addison-Wesley 2002 10
Lights and Materials
• Types of lights
- Point sources vs distributed sources
- Spot lights
- Near and far sources
- Color properties
• Material properties
- Absorption: color properties
- Scattering
• Diffuse
• Specular
Angel: Interactive Computer Graphics 3E © Addison-Wesley 2002 11
Following the Pipeline:
Transformations
• Much of the work in the pipeline is in
converting object representations from
one coordinate system to another
- World coordinates
- Camera coordinates
- Screen coordinates
• Every change of coordinates is equivalent
to a matrix transformation
Angel: Interactive Computer Graphics 3E © Addison-Wesley 2002 12
Clipping
• Just as a real camera cannot “see” the
whole world, the virtual camera can only
see part of the world space
- Objects that are not within this volume are said
to be clipped out of the scene
Angel: Interactive Computer Graphics 3E © Addison-Wesley 2002 13
Projection
• Must carry out the process that combines
the 3D viewer with the 3D objects to
produce the 2D image
- Perspective projections: all projectors meet at
the center of projection
- Parallel projection: projectors are parallel,
center of projection is replaced by a direction of
projection
Angel: Interactive Computer Graphics 3E © Addison-Wesley 2002 14
Rasterization
• If an object is visible in the image, the
appropriate pixels in the frame buffer
must be assigned colors
- Vertices assembled into objects
- Effects of lights and materials must be
determined
- Polygons filled with interior colors/shades
- Must have also determine which objects are in
front (hidden surface removal)
Angel: Interactive Computer Graphics 3E © Addison-Wesley 2002 15