Prof. David I.W. Levin
diwlevin@cs.toronto.edu
Prof. Karan Singh
karan@dgp.toronto.edu
Jonathan Panuelos
Lily Goli
Mengfei Liu
Victor Pineda
Wenzhi Guo
Yun-Chun Chen
Zewen Shen
Zhecheng Wang
csc317tas@cs.toronto.edu
Office Hours:
Mondays 10am-11am BA5258 (Karan)
Mondays 3pm-4pm BA5268 (Dave)
Mondays 11:00-13:00 LEC101/LEC2001 BA1180
Mondays 13:00-15:00 LEC201/LEC2101 BA1190
Wednesday 11:00-12:00 LEC101/LEC2001 BA1180
Wednesday 13:00-14:00 LEC201/LEC2101 BA1190
Use Assignment GitHub issue pages for questions/discussion
OpenGL Tutorials at http://www.opengl-tutorial.org
This course introduces the basic concepts and algorithms of computer graphics. It covers the basic methods needed to model and render 3D objects, including much of the following: graphics displays, basic optics, line drawing, affine and perspective transformations, windows and viewports, clipping, visibility, illumination and reflectance models, radiometry, energy transfer models, parametric representations, curves and surfaces, texture mapping, graphics hardware, ray tracing, graphics toolkits, animation systems.
Prerequisites: C/C++ Programming, Linear Algebra, Calculus, Numerical Methods.
The student is expected to read background material on the hardware and local software, and should be comfortable with elementary linear algebra, geometry, and vector calculus. It is also assumed that the student is comfortable programming in basic C++.
(Strongly) Recommended preparation: Multivariable Calculus
This class involves required reading from:
Fundamentals of Computer Graphics, Fourth Edition, Steve Marschner, Peter Shirley, et al. 2015.
Digital e-book are available at CRC Press.
Note: All assignments except 9 are available immediately. BUT we are only covering one assignment at a time. While you are welcome to look ahead, future assignments have not been debugged and we will not answer questions about them at tutorial or office hours until we cover them in lecture
You can find a series of short videos cut up by lectures and topics voicing over the lecture slides here.
Week | Topic / Event |
---|---|
1 | IntroductionDL,KS, RGBtoHSV,tutorial, Assignment 1 (Raster Images) Math Practicewaitlisted ? zip assignment and email to TAs due 17/09 |
2 | Lecture2DL,KS, Assignment 2 Ray Casting due 24/09 |
3 | Lecture 3DL,KS, Assignment 3 Ray Tracing due 01/10 |
4 | Lecture 4DL,KS, Assignment 4 Bounding Volume Hierarchy due 8/10 |
5 | Lecture 5DL,KS, Assignment 5 Meshes due 22/10 |
6 | No Lecture, Thanksgiving |
First In-Tutorial Test October 16th | |
7 | Lecture 6,DL,KS, Assignment 6 Shader Pipeline due 5/11 |
8 | No Lecture, Reading Week ! |
9 | Lecture 7, DL, KS, Assignment 7 Kinematics due 12/11 |
10 | Lecture 8, DL, KS, Assignment 8 Mass-Spring Systems due 19/11 |
11 | Lecture 9 |
12 | Second In-Class Test December 3rd |
There will be 4 online quizzes available through Quercus. Each quiz will cover the content of two assignments each, from assignment 1 to assignment 8. Each quiz will go live after the respective topics are covered in class and must be completed on Quercus by the end of the term (December 3rd).
Academic Honesty (required reading)
% | Item |
---|---|
64 | Assignments (best 7 of 8) |
12 | 4 Quizzes (Online) |
12 | In Tutorial Test |
12 | In Class Test |
There will be nine programming assignments of which we will count the best 8 marks (8% each).
Every student is given ten (10) late days which are automatically applied,starting at midnight on the due date. Weekends count as late days.
If you plan on not submitting an assignment (to take advantage of the best 8-of-9 policy) please let us know so late days aren't applied.
Academic honesty is a very serious matter and can result in very serious consequences. Note that academic offences may be discovered and handled retroactively, even after the semester in which the course was taken for credit. This is a challenging class aimed at teaching you the fundamentals of computer graphics. You wont learn much if you cheat but you might get a good grade if you get away with it. If all you want is a good grade take an easier class where you wont have to cheat!
For purposes of this class, academic dishonesty is defined as: