dilevin / computer-graphics-csc317

Course Page for Computer Graphics course
130 stars 26 forks source link

Computer Graphics CSC317/CSC2504 Fall 2024

_image courtesy Tim Jeruzalski_

Instructors

Prof. David I.W. Levin
diwlevin@cs.toronto.edu

Prof. Karan Singh
karan@dgp.toronto.edu

TAs

Jonathan Panuelos
Lily Goli
Mengfei Liu
Victor Pineda
Wenzhi Guo
Yun-Chun Chen
Zewen Shen
Zhecheng Wang

csc317tas@cs.toronto.edu

Office Hours:

You can attend any office hours that fits your schedule

Mondays 10am-11am BA5258 (Karan)
Mondays 3pm-4pm BA5268 (Dave)

Lectures

Mondays 11:00-13:00 LEC101/LEC2001 BA1180
Mondays 13:00-15:00 LEC201/LEC2101 BA1190

Tutorials

Wednesday 11:00-12:00 LEC101/LEC2001 BA1180
Wednesday 13:00-14:00 LEC201/LEC2101 BA1190

Links

Use Assignment GitHub issue pages for questions/discussion

Programming Resources

www.cplusplus.com

OpenGL Tutorials at http://www.opengl-tutorial.org

The Matrix Cookbook

Eigen Matrix Library

Course Overview

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

Recommended Textbook

The Book.

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.

Lecture Schedule

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

Quizzes

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)

_image courtesy Gavin Barill_

Grading

% 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).

Lateness Policy

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

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:

Email & Bulletin Board Traffic