Watch a video introduction to the course on YouTube.
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.
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.
Prerequisites: (CM 339/CS 341 or SE 240) and (CS 350 or SE 350) and (CS 370 or CS 371) ; Computer Science students only.
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).
3 hours of lectures per week. Normally available in Fall, Winter and Spring.
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.
A review of concepts and tools: points, vectors, lines, planes, matrices, dot and cross products, vector space, affine space, projective space, etc.
2- and 3-dimensional translation, rotation, and scaling as matrix operations. Homogeneous coordinates. Clipping, windowing, and viewing with perspective.
The management of picking, selecting, and control tasks through the use of event queues, interrupts, and device polling. Windowing systems and user interface toolkits.
Standard lighting models and their implementation. Hidden-surface elimination using depth buffering, scanline coherence, and subdivision. Polygon filling.
Basic ray tracing techniques for generating shadows, mirror reflections, and refraction. Constructive solid geometry models.
Radiosity, bi-directional path tracing, global illumination.
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.

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