CS 488/688: Introduction to Computer Graphics
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 2016
- Gladimir V. G. Baranoski
Office hours: Fridays, 3:30–4:30pm (or by appointment)
- Teaching Assistants
- Spencer Van Leeuwen
Office hours: Tuesdays, 1:30–2:30pm in MC 3007
- Boris Kravchenko
Office hours: Mondays, 2–3pm in MC 3007
- Monday and Wednesday, 4:00–5:20PM, MC 4060
- MC 3007 (There are no scheduled lab times. The lab is available 24 hours a day for students enrolled in CS 488/688.)
- Midterm: Wednesday, June 8th, 4pm
in MC 2034 (worth 20% of your final grade).
Final: Time and place will be announced later in the term... (worth 30% of your final grade).
- Programming Tutorials
Tuesday May 10th, and Wednesday May 11th, 6:00pm-6:50pm MC 4064
The TAs will be holding programming tutorials on two separate days to go over programming and APIs related to the course projects. Although optional, these tutorials are recommended for students without prior experience with OpenGL, GLSL, and Lua.
Topics to be covered include:
- OpenGL: VAOs, VBOs, vertex attribute mappings, primitives, etc..
- GLSL shader syntax.
- Lua scripting basics (Useful for assignments A3, A4, A5).
- Course Outline
- The course outline contains general
information about the course in a format mandated by
the Registrar's Office.
- CS 488/688 Lecture notes. Hardcopy available at Media.doc in MC 2018, or as a downloadable PDF.
- OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3 (8th Edition), by Schreiner et al.
- Computer Graphics with OpenGL (4rd Edition), by Hearn et al.
- Computer Graphics: Principles and Practice (3rd Edition) , by Hughes et al.
Spring 2016 Assignments
- Assignment 0: Warmup (Due Wednesday, May 11th at 3:30pm)
- Assignment 1: OpenGL (Due Wednesday, May 18th at 3:30pm)
- Assignment 2: Pipeline (Due Wednesday, June 1st at 3:30pm)
- Assignment 3: Puppet (Due Wednesday, June 15th at 3:30pm)
- Assignment 4: Trace (Due Wednesday, June 22nd at 3:30pm)
- Assignment 5: Project (Multiple due dates)
General information about CS 488/688
Start by visiting the old home page for the course, where you'll find lots of other useful information and links. More information will be available here shortly.
- The website open.gl is a great starting point for programming in modern OpenGL, featuring a sequence of well written tutorials.
- 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.