Computer Graphics
Number: CSD 15-462
Instructor: Srinivasa Narasimhan
Teaching Assistants: Ilya Gershgorin
Wuming Xie
Office Hours:
Srinivas: By Appointment
Ilya: Mon 8-10pm
Wuming: Wed 8-10pm
Time: TR 1:30PM - 2:50PM
Location: HH B131 (Lecture)
GHC 5205 (TA 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

This semester's offering of 15-462 will include five programming projects, two written homeworks, and midterm and final exams. Final grades will be computed as follows:
  • (7.5%) Homework 1
  • (7.5%) Homework 2
  • (10%) Project 1
  • (10%) Project 2
  • (10%) Project 3
  • (15%) Project 4
  • (15%) 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: Tues 08/24
Slides: Lecture 1 Slides
Name: OpenGL®
Date: Thurs 08/26
Slides: Lecture 2 Slides
Notes: Project 1 Assigned
Reading: Red Book Ch. 1 and 2
Project: Project 1 Description
Project: Project 1 Handout
Name: Math for Computer Graphics
Date: Tues 08/31
Slides: Lecture 3 Slides
Notes: Math Notes
Reading: Red Book Ch. 3, 4 and 5
Name: Transformations
Date: Thurs 09/02
Slides: Lecture 4 Slides
Notes: Math Notes
Name: Viewing/Camera
Date: Tues 09/07
Slides: Lecture 5 Slides
Notes: Viewing Notes
Name: Curves and Splines
Date: Thurs 09/09
Notes: Project 1 Due
Slides: Lecture 6 Slides
Notes: Splines Notes
Name: Meshes and Surfaces
Date: Tues 09/14
Notes: Project 2 Assigned
Notes: Homework 1 Assigned
Slides: Lecture 7 Slides
Notes: Subdivision
Project: Project 2 Description
Project: Projcet 2 Handout
Homework: Homework 1
Solution: Homework 1 Solutions
Shading and Shaders
Name: Shading/Light
Date: Thurs 09/16
Slides: Lecture 8 Slides
Name: Materials - BRDF Measurement
Date: Tues 09/21
Slides: Lecture 9 Slides
Name: Texture mapping + GLSL Shader language
Date: Thurs 09/23
Slides: Texture Slides
Slides: GLSL Shader Slides
Slides: GLSL Cheat Sheat
Name: Non-photorealistic Rendering & Visualization
Date: Tues 09/28
Notes: Project 2 Due
Notes: Project 3 Assigned
Slides: Lecture 11 Slides
Project: Project 3 Description
Project: Projcet 3 Handout
Name: Illusions
(Guest lecturer: Mohit Gupta)

Date: Thurs 09/30
Slides: Optical Illusions
Name: Ray Tracing
Date: Tues 10/05
Slides: Lecture 12 Slides
Name: Spatial Data Structures
Date: Thurs 10/07
Slides: Lecture 13 Slides
Midterm Exam
Name: Midterm Review
Date: Tues 10/12
Name: Midterm Exam
Date: Thurs 10/14
Global Illumination
Name: Radiosity
Date: Tues 10/19
Notes: Project 3 Due
Notes: Project 4 Assigned
Project: Project 4 Description
Project: Projcet 4 Handout
Slides: Lecture 14 Slides
Slides: Fast Radiosity Paper
Name: Photon Mapping
Date: Thurs 10/21
Slides: Lecture 15 Slides
Slides: Ray Tracing and Photon Mapping
Name: Direct-Global Separation
Date: Tues 10/26
Notes: Lecture 16 Notes
Name: Animation - Motion capture/Flocking
Date: Thurs 10/28
Notes: Lecture 17 Slides
Notes: Lesseter
Name: Differential Equations and Particle Systems
Date: Tues 11/02
Notes: Lecture 18 Slides
Notes: Physically Based Modeling (Andrew and David)
Notes: Physically Based Modeling (David Baraff)
Notes: Particle System Dynamics
Name: Fluids
Date: Thurs 11/04
Image Processing
Name: Image processing
Date: Tues 11/09
Notes: Project 5 Assigned
Project: Project 5 Description
Project: Projcet 5 Handout
Slides: Lecture 20 Slides
Name: HDR Imaging
Date: Thurs 11/11
Notes: Project 4 Due
Name: Photo and Webcam Clipart
(Guest lecturer: Jean-Francois Lalonde)

Date: Tues 11/16
Slides: Guest Lecture Slides
Name: Displays
Date: Thurs 11/18
Slides: Lecture 21 Slides
Miscellaneous and Final Exam
Name: Cool Research in Graphics
Date: Tues 11/23
Name: Thanksgiving
Date: Thurs 11/25
Name: Final Review
Date: Tues 11/30
Notes: Project 5 Due
Name: Project Winner Displays
Date: Thurs 12/2
Name: Final exam
Date: Tues 12/7

Last updated: Jan 17, 2011