Introduction

Tom Kelliher, CS 320

Feb. 2, 2000

Administrivia

Announcements

Assignment

Chapter 2.

From Last Time

Graphics system architecture.

The synthetic world.

Outline

  1. Graphics: a synthetic world.

  2. The programmer's interface.

  3. A pictorial history of graphics.

  4. Modeling-Rendering Paradigm.

  5. Graphics Architectures.

Coming Up

OpenGL programming.

A Synthetic World

Previously: object/viewer, light, ray tracing, human vision.

The Pinhole Camera

Properties of a pinhole camera:

  1. A perfect pinhole: only one ray from each point passes through the pinhole. Yields infinite depth of field.

  2. Depth.

  3. 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?

The Synthetic Camera Model

Based on our pinhole camera, the model used in computer graphics.

Properties:

  1. Lens

  2. Bellows, allowing depth adjustment.

  3. Width and height of the film.

Development:

  1. Projection on the film plane may be ``reflected out front.'' This is called the projection plane.

  2. Center of projection: center of lens.

  3. Image on the projection plane consists of all points visible and in field of view of center of projection.

  4. A clipping rectangle may be used to reduce the field of view.

The Programmer's Interface

An API must allow us to specify:

  1. Objects --- collections of polygons. API primitives:
    1. Points.

    2. Line segments.

    3. Polygon outlines.

    4. Filled polygons.

    5. 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 .

  2. The viewer --- through the synthetic camera:
    1. Position.

    2. Orientation.

    3. Focal Length.

    4. Size of film (projection) plane.

  3. Light sources:
    1. Location.

    2. Direction.

    3. Strength.

    4. Color.

  4. Material properties --- transparency, etc.

All must be supported by the API.

A Pictorial History of Graphics

Refer to Plates 1 through 8 in the text.

  1. Wireframe images. Complex 3-D objects.

  2. Hidden surface removal and flat shading. Lost 3-D. No light source.

  3. Constant shading. Found 3-D. Light source. Still see the polygons.

  4. Smooth shading. Polygons less obtrusive.

  5. Texture mapping.

  6. Fractal mountains.

  7. Fog.

With graphics accelerators, the more sophisticated renderings are ``free.''

Modeling-Rendering Paradigm

Alternative to synthetic camera.

Modeler, interface file, renderer.

  1. Modeler:
    1. Concerned with design and placement of objects.

    2. Highly interactive process.

    3. Possibly more than one modeler, tailored to each application.

  2. Interface file:
    1. Output from modeler, input to renderer.

    2. Basic description of scene.

  3. Renderer:
    1. Adds lighting, viewer perspective, material properties (additional components of interface file).

    2. Computationally intensive.

    3. PIXAR's Renderman.

Graphics Architectures

Early Systems

Host, DA converter, CRT.

Display Processors

Host, display processor and display list, CRT.

  1. Separate processor.

  2. Host sends primitives along, stored in display list.

  3. Display processor deals with refresh, re-generation.

Graphics Pipelines

Consider a pipeline for computing large numbers of .

Properties of pipelines:

  1. Depth --- latency.

  2. Throughput.

Steps in a graphics pipeline:

  1. Transformation --- between series of coordinate systems. Matrix multiplications.

  2. Clipping --- cut scene down to field of view. Example: Excel.

  3. Projection --- Project 3-D objects into 2-D. Matrix multiplication.

  4. Rasterization --- Convert 2-D primitives to pixels.



Thomas P. Kelliher
Tue Feb 1 15:22:32 EST 2000
Tom Kelliher