CS 488/688: Introduction to Computer Graphics
Spring 2026
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. (Some details in the followings are tentative until the class officially starts.)
Overview
- 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.
Logistics
Masuda Fatima: m47fatim@uwaterloo.ca
Ruomai Yang: r295yang@uwaterloo.ca
- The website realtimerendering.com lists a bunch of books that are free online. Among others, for ray tracing, we recommend the pbrt book as a general reference and Peter Shirley's e-books as a good supplementary material for ray tracing.
- Ten Minute Physics by Matthias Muller provides a very good overview of theory and practice regarding physics-based animation.
- The website of linalg.h for coding vector math.
- The website of GLFW in case you want to look at how it is used in the base code.
- Shadertoy and GLSL Sandbox showcase interesting (fragment) shader programs.
- Inigo Quilez has several articles explaining practical solutions to many problems in graphics.
- The course note of CS 488/688 from the previous terms is also available here, mainly just for your information.
Expectations
- A0: 0%
- A1: 20%
- A2: 20%
- A3: 20%
- Project proposal: 10%
- Project: 30%
- If you have any remaining late-day points, an assignment deadline will be extended automatically by one day using one point. You do not need to claim to use points and we will automatically use your points.
- While we keep track of your points for grading purposes, you are still responsible for remembering how many points you still have.
- If you have no remaining late-day points, late submissions will incur 10% penalty per day for up to three days.
- No submissions will be accepted more than three days after the deadline. You get zero automatically for that assignment. This is true whether or not the student has late-day points remaining.
Interested in graphics research?
Assignments
- This course has assignments and the final project. Please read the additional notes regarding assignment completion and submission. These notes may help you avoid losing marks unnecessarily. You will submit your work via LEARN. Students should contact the TAs in case of any issue related to the submission procedure.
-
Assignment 0: Warmup (optional)
Due May 19 at 10:00 AM ET -
Assignment 1: Rasterization
-
Assignment 2: Ray tracing
-
Assignment 3: Animation
-
Project
Schedule
- The course will roughly follow the following schedule (can change).
-
- Week 1: Introduction
- Week 1: Rasterization
- Week 2: More on rasterization and transformations
- Week 2: Transformations (cnt.)
- Week 3: TBA
- Week 3: Textures
- Week 4: Sampling and reconstruction
- Week 4: Ray tracing
- Week 5: Ray tracing (cnt.)
- Week 5: Shading models
- Week 6: Acceleration data structures
- Week 6: Acceleration data structures (cnt.)
- Week 7: Particles
- Week 7: Multibody dynamics
- Week 8: Rigid bodies
- Week 8: Deformables
- Week 9: Waves
- Week 9: Smoke
- Week 10: Advanced rasterization techniques
- Week 10: Cameras and colors
- Week 11: Monte Carlo integration
- Week 11: Path tracing
- Week 12: Conclusion
- Week 12: Extended office hours
- Week 13: Extended office hours class





