0;95;0c Computer Graphics

Computer Graphics
Number: CSD 15-462/15-662
Instructor: Nancy Pollard
Teaching Assistants: Eric Fang(efang)
Cole Heathershaw(cheather)
Zachary Shearer(zshearer)
Office Hours:
Pollard: By Appointment
Eric: Thursday 6-8pm
Cole: Saturday 3-5pm
Zachary: Tuesday 1-3pm
Time: MW 1:30 pm - 2:50 pm
Location: NSH 1305(Lectures)
GHC 5th floor commons(TA office hours)
Discussion Board: Piazza
Final: Monday, May 8, 1pm-4pm, GHC 4401


This course provides a comprehensive introduction to computer graphics modeling, animation, and rendering. Topics covered include basic image processing, geometric transformations, geometric modeling of curves and surfaces, animation, 3-D viewing, visibility algorithms, shading, and ray tracing.



The programming assignments in this course will be written in C++ and require knowledge of mathematics involving matrices, vectors, etc. Therefore successful completion of the following courses is required:
(15213 and 21240 and 21259) or (15213 and 21241 and 21259) or (18202 and 18213)
Once you've completed 15-462, you may be interested in other courses offered by the Carnegie Mellon Graphics Lab.


There is no required textbook for 15-462, though a variety of books may provide good supplementary material:
Pete Shirley and Steve Marschner with Michael Ashikhmin, Michael Gleicher, Naty Hoffman, Garrett Johnson, Tamara Munzner, Erik Reinhard, Kelvin Sung, William B. Thompson, Peter Willemsen, and Bryan Wyvill Fundamentals of Computer Graphics. A K Peters, 2009 [ On Amazon ]
John F. Hughes, Andries van Dam, Morgan McGuire, David F. Sklar, James D. Foley, Steven K. Feiner, and Kurt Akeley Computer Graphics: Principles and Practice [ On Amazon ]
Matt Pharr and Greg Humphreys Physically Based Rendering: From Theory to Implementation [ On Amazon ]
This book (PBRT) is the book for learning about modern ray tracing techniques. It has a great website with full source code online for an advanced physically-based ray tracer. It even won an oscar for its impact on the film industry!

Assignments & Grading
  • (2.5%) Assignment 0 (Math Review)
  • (2.5%) Assignment 0.5 (Math Review)
  • (15%) Project 1 SVG Renderer
  • (15%) Project 2 Mesh Editor
  • (15%) Project 3 Pathtracer
  • (15%) Project 4 Animation
  • (15%) Midterm Exam
  • (20%) Final Exam
You will be given a total of 5 "late days" You can only use them on the first three assignments. If you run out of latedays, we will take 10 out 100 off from any late assignments. No assignment will be accepted more than three days past the deadline

Note: Please use Piazza as a primary resource rather than emailing TAs directly. It will yield a more timely respones as all the TAs will be browsing it and your question may even have been answered already!


Note: This syllabus may change during the course. Keep checking back.

Name: MLK Day, No Class
Date: Mon 01/16
Name: Introduction
Date: Wed 01/18
Slides: Lecture 1 Slides
Name: Math Review Part I: Linear Algebra
Date: Mon 01/23
Slides: Lecture 2 Slides
Notes: Assignment 0 Out
Name: Math Review Part II: Vector Calculus
Date: Wed 01/25
Slides: Lecture 3 Slides
Notes: Assignment 0.5 Out
Name: Drawing a Triangle
Date: Mon 01/30
Slides: Lecture 4 Slides
Notes: Assignment 0 Due
Notes: Assignment 1 Out
Name: Coordinate Spaces and Transforms
Date: Wed 02/01
Slides: Lecture 5 Slides
Notes: Assignment 0.5 Due
Name: 3D Transformations and Complex Representations
Date: Mon 02/06
Slides: Lecture 6 Slides
Name: Perspective Projection
Date: Wed 02/08
Slides: Lecture 7 Slides
Name: Barycentric Coordinates and Textures
Date: Mon 02/13
Slides: Lecture 8 Slides
Name: Graphics Pipeline / Introduction to Geometry
Date: Wed 02/15
Slides: Lecture 9A Slides (Pipeline)
Lecture 9B Slides (Geometry Intro)
Notes: Assignment 1 Due (Thursday, Feb 16)
Assignment 2 Out
Name: Meshes and Manifolds
Date: Mon 02/20
Slides: Lecture 10 Slides
Name: Geometry Processing and Geometric Queries
Date: Wed 02/22
Slides: Lecture 11 Slides
Name: More Geometry Processing
Date: Mon 02/27
Slides: Lecture 12 Slides
Name: Midterm Review
Date: Wed 03/01
Slides: Lecture 13 Slides
Notes: Assignment 2 Due
Name: Midterm
Date: Mon 03/06
Name: Color
Date: Wed 03/08
Slides: Lecture 14 Slides
Name: No Class Spring Break
Date: Mon 03/13
Name: No Class Spring Break
Date: Wed 03/15
Light and Rendering
Name: Ray Tracing
Date: Mon 03/20
Slides: Lecture 15 Slides
Notes: Assignment 3 Out
Name: BVH and Radiometry
Date: Wed 03/22
Slides: Lecture 16 Slides (BVH)
Lecture 16 Slides (Radiometry)
Name: The Rendering Equation and Path Tracing
Date: Mon 03/27
Slides: Lecture 17 Slides (Rendering Equation)
Lecture 17 Slides (Sampling Intro)
Name: Sampling
Date: Wed 03/29
Slides: Lecture 18 Slides (Sampling)
Lecture 18 Slides (Monte Carlo Path Tracing)
Name: Variance Reduction and Lightfield
Date: Mon 04/03
Slides: Lecture 19 Slides
Name: Real-Time Ray Marching (Jim McCann)
Date: Wed 04/05
Notes: Assignment 3 Due (Sunday, April 9)
Name: Introduction to Animation
Date: Mon 04/10
Slides: Lecture 20 Slides (Global Illumination Summary)
Lecture 20 Slides (Intro to Animation)
Notes: Assignment 4 Out
Name: Rigging, FK/IK
Date: Wed 04/12
Slides: Lecture 21 slides
Name: Introduction to Optimization
Date: Mon 04/17
Slides: Lecture 22 Slides
Name: Dynamics and Time Integration
Date: Wed 04/19
Slides: Lecture 23 Slides
Name: Physically-Based Animation and PDEs
Date: Mon 04/24
Slides: Lecture 24 Slides
Name: Rigid Bodies
Date: Wed 04/26
Slides: Lecture 25 Slides (Part 1)
Lecture 25 Slides (Part 2)
Course Conclusion
Name: Final Exam Review
Date: Mon 05/01
Slides: Final Exam Review slides (Part 1)
Final Exam Review slides (Part 2)
Notes: Assignment 4 Due
Name: Project Showcase
Date: Wed 05/03
Name: Final Exam
Date: Mon 05/08, 1pm-4pm, GHC 4401

Last updated: Jan 24, 2017