CS 488/688: Introduction to Computer Graphics
Spring 2020
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, although it does discuss some aspects of user interface design. CS488/688 has a fairly heavy project component and should not be taken in conjunction with other heavy project courses.
Course logistics for Spring 2020
- Instructor
- Gladimir V. G. Baranoski
gvgbaran@uwaterloo.ca
Office hours: Virtual office hours to be held on Fridays, with the specific times to be announced via Piazza. - Teaching Assistants
- Petri Varsa
pmvarsa@uwaterloo.ca
Office hours: Virtual office hours to be held on Tuesdays, with the specific times to be announced via Piazza. - Spencer Van Leeuwen
srvanlee@uwaterloo.ca
Office hours: Virtual office hours to be held on Tuesdays, with the specific times to be announced via Piazza. - Virtual Office Hours
- For the Spring 2020 term, office hours will be provided virtually by the course staff. Further details will be provided on Piazza.
- Lab
- The Undergraduate Graphics Lab is unavailable during the Spring 2020 term.
- Course Outline
- The course outline contains general information about the course, including the marking scheme.
- CS 488/688 Course Notes
- Available as a downloadable PDF.
- Required Reading Materials
- Every week, the instructor will release required reading materials equivalent to the contents covered in two traditional lectures in previous terms. The contents equivalent to one lecture will be released on Mondays, and the contents equivalent to another lecture will be released on Wednesdays. These materials will be released in the password protected course Lessons website whose access credentials will be provided via Piazza.
- Getting help
- We are using Piazza for questions and discussions of class-related material. You should have been signed up at the start of the term, but you can sign up manually if necessary.
Spring 2020 Assignments
- Please read our additional notes regarding assignment completion and submission. These notes may help you avoid losing marks unnecessarily.
-
Assignment 0: Warmup
Due Thursday, May 21st at 10:00 AM ET -
Assignment 1: OpenGL
Due Thursday, June 4th at 10:00 AM ET -
Assignment 2: Pipeline
Due Thursday, June 18th at 10:00 AM ET -
Assignment 3: Puppet
Due Thursday, July 2nd at 10:00 AM ET -
Assignment 4: Trace
Due Thursday, July 16th at 10:00 AM ET -
Assignment 5: Optional
For Spring 2020, alternative specifications will be provided for A5. Further details will be provided on Piazza later in the term.
Additional Resources
- The website open.gl is a great starting point for programming in modern OpenGL, featuring a sequence of well written tutorials.
- See also the longer sequence of tutorials at learnopengl.com, which go into more detail about specific topics.
- Song Ho Ahn also has a number of useful tutorials that explain concepts in 3D computer graphics, especially as related to the OpenGL graphics pipeline.
- Visit docs.gl for the best OpenGL API reference.
- You might also want to look at Terence's OpenGL tutorial slides.