CS 488 Introduction to Computer Graphics


Watch a video introduction to the course on YouTube.

Objectives

To give students a solid background in 3-D graphics techniques for use as a tool in more advanced applications. A major part of the course involves hands-on experience using an interactive graphics workstation.

Intended Audience

CS 488 is a course for CS major students, and is normally completed in a student's fourth year. This course should appeal to most students interested in applied computer science.

Related Courses

Prerequisites: (CM 339/CS 341 or SE 240) and (CS 350 or SE 350) and (CS 370 or CS 371) ; Computer Science students only.

References

Computer Graphics: Theory Into Practice, by J. McConnell & Open GL Programming Guide, 6th ed., by ARB: Shreiner, Neider, Davis and Woo, Addison Wesley (recommended) ; Course Notes (required).

Schedule

3 hours of lectures per week. Normally available in Fall, Winter and Spring.

Notes

  1. Enrolment will be limited according to available graphics equipment.
  2. There are five programming assignments plus a project required. They involve UNIX, C, Tcl/Tk, OpenGL. They are usually available at the start of term. Knowledge of program development in UNIX with C is required.
  3. It is highly recommended that students attend the first lecture.

Outline

The Graphics Environment (4 hours)

Overview of a representative processing sequence that connects application programs with the images they display on screen. Outline of the graphics library to be used and the hardware of the graphics workstation.

Mathematical Underpinnings (4 hours)

A review of concepts and tools: points, vectors, lines, planes, matrices, dot and cross products, vector space, affine space, projective space, etc.

Transformations (4 hours)

2- and 3-dimensional translation, rotation, and scaling as matrix operations. Homogeneous coordinates. Clipping, windowing, and viewing with perspective.

Interrupting, Picking, Polling, Callbacks (3 hours)

The management of picking, selecting, and control tasks through the use of event queues, interrupts, and device polling. Windowing systems and user interface toolkits.

Hidden Surfaces and Shading (4 hours)

Standard lighting models and their implementation. Hidden-surface elimination using depth buffering, scanline coherence, and subdivision. Polygon filling.

Ray Tracing (4 hours)

Basic ray tracing techniques for generating shadows, mirror reflections, and refraction. Constructive solid geometry models.

Physically Based Rendering (4 hours)

Radiosity, bi-directional path tracing, global illumination.

Discretionary Topics (5 hours)

Chosen at the discretion of the instructor. Possibilities include: more depth on any of the foregoing, as well as human vision, colour theory, anti-aliasing, database amplification, animation, scientific visualization, graphics hardware support, higher-order curves and surfaces, and dynamic simulation.


Campaign Waterloo

David R. Cheriton School of Computer Science
University of Waterloo
Waterloo, Ontario, Canada N2L 3G1

Tel: 519-888-4567 x33293
Fax: 519-885-1208

Contact | Feedback: cs-uops@cs.uwaterloo.ca | David R. Cheriton School of Computer Science | Faculty of Mathematics


Valid HTML 4.01!Valid CSS! Last modified: Thursday, 09-Feb-2012 10:49:26 EST


Menu:ShowHide