Computer Graphics
Number: CSD 15-462 / 15-662
Instructor: Nancy Pollard
Teaching Assistants:
Felipe Gomez-Frittelli
Nathan Dobson
Anna Etzel
Office Hours:
Pollard: By Appointment
Felipe: Tues / Thu 8-10 PM
Nathan Wed 8-10 PM and Sun 8-9:30 PM
Anna Mon 8-10 PM
Time: TR 10:30 am - 11:50 am
Location: DH 1212 (Lecture)
GHC 5210 (Office Hours MWRF) GHC 5208 (Tues. Office Hours)
Discussion Board: Piazza
Final: TBA


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:

15-213/18-213 Introduction to Computer Systems

and either

18-202 Mathematical Foundations of Electrical Engineering

or both

21-241 Matrix Algebra, and
21-259 Calculus in Three Dimensions

Once you've completed 15-462, you may be interested in other courses offered by the Carnegie Mellon Graphics Lab.


There are two required textbooks for 15-462 this semester:

Shirley, Peter et. al. Fundamentals of Computer Graphics. 3rd ed. A K Peters, 2009.

OpenGL® Architecture Review Board. OpenGL® Programming Guide. 8th ed. Boston: Addison-Wesley, 2013.

An older edition of the OpenGL® Programming Guide (covering the OpenGL® 1.1 specification) may be found online here and should be sufficient for the purposes of this course. However, the printed text may be of interest as it is newer than the online version and covers the OpenGL® 4.3 specification.

Assignments & Grading

  • (10%) Project 1
  • (15%) Project 2
  • (20%) Project 3
  • (25%) Project 4
  • (15%) Midterm Exam
  • (15%) Final Exam
All projects are due at 11:59:59 PM on the scheduled date. You will be given a total of three "late days" for the semester. You may use each late day to extend the deadline of any programming assignment by one day without penalty. Once all three late days have been used, further extensions will only be granted at the instructor's discretion and may incur a grading penalty.

Note: Please use Piazza as a primary resource rather than emailing TAs directly. Make your questions public whenever possible, as the answers may be of interest to other students, and keep in mind that your own question may already have been asked and answered.


Note: This syllabus may change during the course, and will be updated with links to lecture slides and projects. Keep checking back.

Name: Introduction
Date: Tue 01/13
Slides: Lecture 1 Slides
Name: OpenGL®
Date: Thurs 01/15
Slides: Lecture 2 Slides
Reading: Red Book Ch. 1 and 2
Notes: Project 1 Assigned
Project: Project 1 Description
Project: Project 1 Handout
Name: Math for Computer Graphics
Date: Tue 01/20
Slides: Lecture 3 Slides
Name: Transformations
Date: Thurs 01/22
Slides: Lecture 4 Slides
Notes: Math Notes
Name: More Transformations
Date: Tue 01/27
Notes: Lecture 5 Notes
Name: Viewing and Cameras
Date: Thurs 01/29
Slides: Lecture 6 Slides
Notes: Viewing Notes
Online Notes: Transforms
Name: Curves and Splines
Date: Tue 02/03
Notes: Project 1 Due
Slides: Lecture 7 Slides
Slides: Splines Handout
Name: Meshes and Surfaces
Date: Thu 02/05
Slides: Lecture 8 Slides
Notes: Project 2 Assigned
Notes: Charles Loop's Masters Thesis
Project: Project 2 Description
Project: Project 2 Handout
Light, Color, and Rendering
Name: Shading and Light
Date: Tue 02/10
Slides: Lecture 9 Slides
Name: Guest Lecture - Stelian Coros
Date: Tue 02/12
Slides: 3D Printing Slides
Name: Shading and Textures
Date: Tues 02/17
Slides: Lecture 10 Slides
Name: Color / Light
Date: Thurs 02/19
Slides: Light Slides
Slides: SIGGRAPH Course Notes
Name: Ray Tracing
Date: Tue 02/24
Notes: Project 3 Assigned
Notes: Project 2 Due
Project: Project 3 Description
Project: Project 3 Handout
Project: Project 3 Extra Scenes
Project: Project 3 Reference Shots
Slides: Lecture 12 Slides
Notes: Chalkboard Notes
Name: Spatial Data Structures
Date: Thurs 02/26
Slides: Lecture 13 Slides
Midterm Exam
Name: Midterm Review
Date: Tue 03/03
Notes: Mid Review
Name: Midterm Exam
Date: Thurs 03/05
Date: Tue 03/10
Date: Thurs 03/12
Name: More Ray Tracing
Date: Tue 03/17
Slides: Notes 1
Slides: Notes 2
Global Illumination
Name: Radiosity
Date: Thurs 03/19
Slides: Lecture 14 Notes
Notes: Cohen Radiosity Paper
Name: Photon Mapping
Date: Tues 03/24
Slides: Lecture 16 Slides
Notes: SIGGRAPH 2007 Raytracing
Name: Differential Equations and Particle Systems
Date: Thurs 03/26
Notes: Project 3 Due
Notes: Project 4 Assigned
Project: Project 4 Photon Mapping
Project: Project 4 Physics Simulation Handout
Project: Project 4 Physics Simulation Description
Project: Project 4 Deferred Rendering
Notes: SIGGRAPH Course Notes
Name: Cloth and Fluids
Date: Tues 03/31
Notes: Lecture Notes
Notes: References
Name: Character Animation
Date: Thurs 04/02
Slides: Lecture Slides
Miscellaneous Topics
Name: Direct / Indirect Separation
Date: Tues 04/07
Slides: Lecture 17 Slides
Notes: Research: Mohit Gupta
Name: NPR
Date: Thurs 04/09
Notes: Project 4 Checkpoint
Name: Illusions
Date: Tues 04/14
Slides: Lecture 17 Slides
Date: Thurs 04/16
Name: Image Processing
Date: Tues 04/21
Slides: Lecture 20 Notes
Name: Cameras and Displays
Date: Thurs 04/23
Web Links: CVPR
Water Display
Columbia CAVE
3D Displays
Gordon Wetzstein (Stanford)
Final Exam
Name: Final Review
Date: Tue 04/28
Exam Date: Mon 05/11 (Location TBA)
Notes: Project 4 Due
Notes: Final Review
Notes: Midterm Review
Notes: Practice Exam
Name: Project Showcase
Date: Thurs 04/30

Last updated: Jan 09, 2015