Ray Tracing - Computer Graphics at the University of Waterloo

This past spring I took the introductory computer graphics course (CS 488) at the University of Waterloo. The course is part of the university’s “big three” fourth year computer science courses, which are infamous for their high workload.

One of the really rewarding parts of the course is the final project, where you get to spend three weeks building either an interactive OpenGL based application or a ray tracer. The details of the project are otherwise mostly open ended. I chose to write a ray tracer, which consisted of implementing a variety of different ray tracing techniques. You can see all of my generated images here, which is what I submitted as my final project. I’ve also included some of them in this post.

Constructive solid geometry Index of refraction 1.75 Final scene

Overall I learned a lot from this course and gained a ton of insight into computer graphics—a branch of computer science that I had no exposure to previously. As with arguably most university courses, you get out of the course what you put in. While the workload is high, it’s definitely manageable and you can always scale your time commitment accordingly.

If you want to read a more comprehensive account of the course, my friend Sameer has written a great detailed post about it here.