Computer Graphics
Number: CSD 15-462
Instructor: Nancy Pollard
Teaching Assistants: Derek Basehore
Li Chen
Office Hours:
Pollard: By Appointment
Derek: Tues: 8-10 pm
Li: Thur: 8-10 pm
Time: TR 10:30 pm - 11:50 pm
Location: PH 125C (Lecture)
GHC 5205 (Office Hours)
Bulletin Board: cmu.cs.class.cs462
(Instructions here.)


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-243 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. 2nd ed. Wellesley: A K Peters, 2005.

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

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® 2.1 specification.

Assignments & Grading

  • (10%) Homework 1
  • (10%) Homework 2
  • (10%) Project 1
  • (10%) Project 2
  • (10%) Project 3
  • (15%) Project 4
  • (10%) Project 5
  • (10%) Midterm Exam
  • (15%) Final Exam
You will be given a total of three "late days" for the semester. You may use these late days to extend the deadline of any programming or written assignment 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 the Bulletin Board 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: Introduction
Date: Tue 01/17
Slides: Lecture 1 Slides
Name: OpenGL®
Date: Thurs 01/19
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/24
Slides: Lecture 3 Slides
Notes: Lecture 3 Notes
Name: Transformations
Date: Thurs 01/26
Slides: Lecture 4 Slides
Notes: Lecture 4 Notes
Name: Orthographic Projection
Date: Tue 01/31
Slides: Lecture 5 Slides
Notes: Lecture 5 Notes
Name: Perspective Projection and Buffers
Date: Thurs 02/02
Notes: Lecture 6 Notes
Name: Meshes and Surfaces
Date: Tue 02/07
Slides: Lecture 7 Slides
Slides: Lecture 7 Additional Slides
Notes: Charles Loop's Masters Thesis
Notes: Project 2 Assigned
Project: Project 2 Description
Project: Project 2 Handout
Name: Shading / Materials
Date: Thurs 02/09
Slides: Lecture 8 Slides
Name: Textures
Date: Thurs 02/14
Slides: Lecture 9 Slides
Notes: Lecture 9 Notes
Name: Curves and Splines
Date: Thurs 02/16
Slides: Lecture 10 Slides
Notes: Lecture 10 Notes
Notes: Homework 1 Assigned
Homework: Homework 1
Name: GLSL Shader Language
Date: Tue 02/21
Slides: Lecture 11 Slides
Project: Project 3 Checkpoint Description
Project: Project 3 Description
Project: Project 3 Handout
Name: NPR
Date: Thurs 02/23
Slides: Lecture 12 Slides
Midterm Exam
Name: Midterm Review
Date: Tue 02/28
Notes: Mid Review
Notes: Homework 1 solution
Name: Midterm Exam
Date: Thurs 03/01
Color and Light
Name: Color and Light
Date: Tue 03/06
Slides: Lecture 13 class
Name: Illusions
Date: Thurs 03/08
Slides: Lecture 14 class
Date: Tue 03/13
Date: Thurs 03/15
Name: Ray Tracing
Date: Tue 03/20
Slides: Lecture 15 Slides
Notes: Board Notes
Name: Spatial Data Structures
Date: Thurs 03/22
Slides: Lecture 16 Slides
Notes: Project 3 due
Notes: Project 4 assigned
Project: Project 4 Description
Project: Project 4 Handout
Name: Radiosity
Date: Tue 03/27
Slides: Lecture 17 Slides
Notes: Radiosity Paper
Name: Photon Mapping
Date: Thurs 03/29
Slides: Lecture 18 Slides
Notes: Paper
Notes: Photon Mapping Link
Name: Direct-Indirect Separation
Date: Tue 04/03
Slides: Lecture 19 Slides
Notes: Paper
Name: Animation and Motion Capture
Date: Thurs 04/05
Slides: Lecture 20 Slides
Name: Differential Equations and Particle Systems
Date: Tue 04/10
Slides: Lecture 21 Slides
Notes: Notes
Notes: Particles
Notes: Project 4 due
Notes: Project 5 assigned
Project: Project 5 Description
Project: Project 5 Handout
Project: Project 5 Presentation
Name: Fluids
Date: Thurs 04/12
Notes: Notes
Notes: Homework 2 assigned
Homework: Homework 2
Name: Image Processing
Date: Tue 04/17
Slides: Lecture 24 Slides
Date: Thurs 04/19
Name: High Dynamic Range Imaging + Tone Mapping
Date: Tue 04/24
Slides: Lecture 25 Slides
Notes: Homework 2 due
Miscellaneous and Final Exam
Name: Photo and Webcam Clipart
Date: Thurs 04/26
Notes: Lecture Link
Notes: Project 5 due
Name: Final review
Date: Tue 05/01
Slides: Final Review
Slides: Midterm review
Name: Project Showcase
Date: Thurs 05/02
Note: Homework 2 solution

Last updated: May 04, 2012