Computer Graphics Course
Course material for an undergraduate level course in computer graphics
Course designed by Prof. Alec Jacobson, David I.W. Levin and Karan Singh from University of Toronto, with assistance from Yotam Gingold at GMU.
Prerequisites and dependencies
In general, the materials in this course assume that students should have already taken Linear Algebra and Calculus.
Students should have already taken Introduction to Computer Science and should be proficient in computer programming (in any language) and should feel comfortable programming in C++.
The course is structured to run with fast paced weekly assignments in the following order:
- Introduction & Raster Images
- Ray Casting
- Ray Tracing
- Boundary Volume Hierarchy
- Shader Pipeline
There is a slight dependence to these assignments:
Each topic has its own git repository. Inside each, there is a
contains background information necessary for understanding the topic's coding
README.md contains detailed information about compilation, file layout and
These assignments were prepared to closely follow:
Fundamentals of Computer Graphics, Fourth Edition, Steve Marschner, Pete Shirley, et al. 2015.
The background materials link heavily to Wikipedia articles. Sometimes the wikipedia articles relating to computer graphics are less informative than they could be. Edit them!
Are you an instructor?
There are instructor repositories for all of the assignments above. If you're an instructor for a geometry processing course, send an email to firstname.lastname@example.org for an invitation.