Introduction
Tom Kelliher, CS 320
Feb. 2, 2000
Chapter 2.
Graphics system architecture.
The synthetic world.
- Graphics: a synthetic world.
- The programmer's interface.
- A pictorial history of graphics.
- Modeling-Rendering Paradigm.
- Graphics Architectures.
OpenGL programming.
Previously: object/viewer, light, ray tracing, human vision.
Properties of a pinhole camera:
- A perfect pinhole: only one ray from each point passes through the
pinhole. Yields infinite depth of field.
- Depth.
- Width and height of the film.
Compute the projection of a point onto the film.
Compute the field of view.
What are the advantages/disadvantages of a lens?
Based on our pinhole camera, the model used in computer graphics.
Properties:
- Lens
- Bellows, allowing depth adjustment.
- Width and height of the film.
Development:
- Projection on the film plane may be ``reflected out front.'' This is
called the projection plane.
- Center of projection: center of lens.
- Image on the projection plane consists of all points visible and in
field of view of center of projection.
- A clipping rectangle may be used to reduce the field of view.
An API must allow us to specify:
- Objects --- collections of polygons. API primitives:
- Points.
- Line segments.
- Polygon outlines.
- Filled polygons.
- Curved surfaces (not supported by all APIs).
OpenGL example:
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();
specifies a triangle.
Adding additional vertices allows arbitrary polygons.
Other type parameters: GL_LINE_STRIP
, GL_POINTS
.
- The viewer --- through the synthetic camera:
- Position.
- Orientation.
- Focal Length.
- Size of film (projection) plane.
- Light sources:
- Location.
- Direction.
- Strength.
- Color.
- Material properties --- transparency, etc.
All must be supported by the API.
Refer to Plates 1 through 8 in the text.
- Wireframe images. Complex 3-D objects.
- Hidden surface removal and flat shading. Lost 3-D. No light
source.
- Constant shading. Found 3-D. Light source. Still see the
polygons.
- Smooth shading. Polygons less obtrusive.
- Texture mapping.
- Fractal mountains.
- Fog.
With graphics accelerators, the more sophisticated renderings are ``free.''
Alternative to synthetic camera.
Modeler, interface file, renderer.
- Modeler:
- Concerned with design and placement of objects.
- Highly interactive process.
- Possibly more than one modeler, tailored to each application.
- Interface file:
- Output from modeler, input to renderer.
- Basic description of scene.
- Renderer:
- Adds lighting, viewer perspective, material properties (additional
components of interface file).
- Computationally intensive.
- PIXAR's Renderman.
Host, DA converter, CRT.
- Eliminating flicker.
- Re-displaying a scene: computationally expensive.
Host, display processor and display list, CRT.
- Separate processor.
- Host sends primitives along, stored in display list.
- Display processor deals with refresh, re-generation.
Consider a pipeline for computing large numbers of .
Properties of pipelines:
- Depth --- latency.
- Throughput.
Steps in a graphics pipeline:
- Transformation --- between series of coordinate systems. Matrix
multiplications.
- Clipping --- cut scene down to field of view. Example: Excel.
- Projection --- Project 3-D objects into 2-D. Matrix multiplication.
- Rasterization --- Convert 2-D primitives to pixels.
Thomas P. Kelliher
Tue Feb 1 15:22:32 EST 2000
Tom Kelliher