walking-robot / computer-graphics

Computer Graphics Course

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Computer Graphics Course

Course material for an undergraduate level course in computer graphics

Course designed by Prof. Alec Jacobson, David I.W. Levin and Karan Singh from University of Toronto, with assistance from Yotam Gingold at GMU.

Prerequisites and dependencies

In general, the materials in this course assume that students should have already taken Linear Algebra and Calculus.

Students should have already taken Introduction to Computer Science and should be proficient in computer programming (in any language) and should feel comfortable programming in C++.

Some coding assignments make use of Eigen, an open-source linear algebra library; and libigl, an open-source geometry processing library. Each assigment is built using CMake.

Organization

The course is structured to run with fast paced weekly assignments in the following order:

  1. Introduction & Raster Images
  2. Ray Casting
  3. Ray Tracing
  4. Meshes
  5. Boundary Volume Hierarchy
  6. Shader Pipeline
  7. Kinematics

There is a slight dependence to these assignments:

Each topic has its own git repository. Inside each, there is a README.md file contains background information necessary for understanding the topic's coding assignment.

The Introduction README.md contains detailed information about compilation, file layout and assignment protocols.

Textbook

The Book.

These assignments were prepared to closely follow:

Fundamentals of Computer Graphics, Fourth Edition, Steve Marschner, Pete Shirley, et al. 2015.

Wikipedia

The background materials link heavily to Wikipedia articles. Sometimes the wikipedia articles relating to computer graphics are less informative than they could be. Edit them!

Are you an instructor?

There are instructor repositories for all of the assignments above. If you're an instructor for a geometry processing course, send an email to jacobson@cs.toronto.edu for an invitation.

Corresponding solution/instructor (private) repos are located at:

  1. Pre test
  2. Introduction & Raster Images
  3. Ray Casting
  4. Ray Tracing
  5. Meshes
  6. Boundary Volume Hierarchy
  7. Shader Pipeline
  8. Kinematics

About

Computer Graphics Course