CS488 Introduction to Computer Graphics — Spring 2024

Welcome to the home page for CS488/688, the introductory computer graphics course in the School of Computer Science at the University of Waterloo. This course focuses on 3D graphics and relevant topics in computer graphics.

Course Overview

This course gives students a solid background in 3D graphics techniques as a tool for implementing practical applications of computer graphics. A major part of the course involves hands-on programming activities.

This course mostly focuses on topics related to rendering (rasterization and ray tracing), but also touches on physics animation (particles, rigid bodies, and deformables). The topics covered in this course include, rasterization, sampling and reconstruction, transformations, graphics pipeline, triangle meshes, textures, real-time rendering techniques, ray-object intersections, cameras, colors and shading models, acceleration data structures, Monte Carlo integration, theory of light transport, path tracing, photon density estimation, particles, collisions, multi-body dynamics, rigid bodies, and deformables. Note that the topics in CS 488/688 vary at the discretion of the instructor for each term.


At the end of the course, students should be able to

  • Explain the algorithmic and mathematical concepts used in computer graphics.
  • Write interactive programs that display and manipulate 3D geometry.
  • Write programs for realistic image synthesis.