CS5625 Interactive Computer Graphics
Cornell University, Spring 2016
T/Th 10:10am, Gates G01
Instructor: Steve Marschner
office hours: T 2:00–3:00pm, Th 1:15–2:15pm, Gates 313 [canceled 2/2]
Course Staff
- Eston Schweickart, TA office hour: F 3:00–4:00pm, Gates 345
- Pramook Khungurn, TA office hour: W 2:00–3:00pm, Gates 345 [starting 2/10]
- Kate Salesin, UTA office hour: TBA
- Kristen Crasto, UTA office hour: F 11:00am–noon, Gates G15
Schedule
date | topic | reading | assignments | |
---|---|---|---|---|
28 | Jan | intro slides | ||
2 | Feb | shading and shading frames slides | Lengyel | |
4 | Feb | detail mapping slides | PA1 out | |
9 | Feb | microfacet models slides | ||
11 | Feb | mesh animation slides slides | Kavan, SIGGRAPH skinning course I.1-2 | PA1 due 2/12 |
16 | Feb | —February Break— | ||
18 | Feb | mesh animation | signal processing slides | PA2 out | |
23 | Feb | signal processing | antialiasing | [Green 2007] | |
25 | Feb | sampling theory slides | PA2 due 2/26, PA3 out | |
1 | Mar | texture antialiasing slides | Williams doi cms Greene & Heckbert CGA 1986 doi cms |
|
3 | Mar | texture antialiasing | McCormack et al. 1999 doi cms | PA3 due 3/4, PA4 out |
8 | Mar | normal map antialiasing | OpenGL framebuffers | Olano & Baker 2010 web | |
10 | Mar | illumination math | PA4 due 3/11, PA5 out | |
15 | Mar | deferred shading slides | ||
17 | Mar | shadow maps slides | Williams SIGGRAPH 1978 doi cms Kilgard slides opengl-tutorial.org tutorial |
PA5 due 3/18, PA6 out |
22 | Mar | soft shadows | shadow volumes slides | Reeves SIGGRAPH 1987 doi cms Fernando 2005 sketch Eisemann et al. 2010 course notes |
|
24 | Mar | shadow volumes | final projects slides | Crow SIGGRAPH 1977 doi cms McGuire GPU Gems web Stich et al. GPU Gems 3 web |
PA6 due 3/25, PA7 out |
29 | Mar | —Spring Break— | ||
31 | Mar | —Spring Break— | ||
5 | Apr | ambient occlusion slides | Mittring SIGGRAPH 2007 course notes web cms Chapman tutorial McGuire et al. HPG 2011 doi cms |
|
7 | Apr | real-time physics 1 | Witkin and Baraff 2001 course notes | PA7 due 4/8, PA8 out |
12 | Apr | real-time physics 2 | proposals due 4/13 | |
14 | Apr | spherical harmonic lighting slides | Sloan et al. 2002 doi cms Sloan on SH tricks web cms |
PA8 due 4/15 |
19 | Apr | color science | ||
21 | Apr | midterm | ||
21 | Apr | midterm | ||
26 | Apr | subdivision | ||
28 | Apr | |||
3 | May | tone mapping | CS 5625 framework slides | ||
5 | May | GPU architecture | ||
10 | May | milestone presentations |
Projects
During the first two-thirds of the semester there will be mini-projects due approximately weekly. Later in the semester there may be one or two written assignments. Some assignments are individual and some may be done in pairs.
Exam
There will be an in-class midterm on or around April 21.
The exam is closed book, but you're allowed to bring one letter-sized piece of paper with writing on both sides, to avoid the need to memorize things.
About CS5625
Questions, help, discussion: The instructor and TAs are available to answer questions, advise on projects, or just to discuss interesting topics related to the class at office hours and by appointment as needed. For electronic communication we are using Piazza (handy link also at the top of this page).
Academic integrity: We assume the work you hand in is your own, and the results you hand in are generated by your program. You're welcome to read whatever you want to learn what you need to do the work, but we do expect you to build your own implementations of the methods we are studying. If you're ever in doubt, just include a citation in your code or report indicating where some idea came from, whether it be a classmate, a web site, another piece of software, or anything—this always maintains your honesty, whether the source was used in a good way or not. The principle is that an assignment is an academic document, like a journal article. When you turn it in, you are claiming that everything in it is your original idea (or is original to you and your partner, if you're handing in as a pair) unless you cite a source for it.
School can be stressful, and your coursework and other factors can put you under a lot of pressure, but that is never a reason for dishonesty. If you feel you can't complete the work on your own, come talk to the professor or the TAs, or your advisor, and we can help you figure out what to do. Think before you hand in!
Clear-cut cases of dishonesty will result in failing the course.
For more information see Cornell's Code of Academic Integrity.
Collaboration: You are welcome (encouraged, even) to discuss projects among yourselves in general terms. But when it comes to writing up the homeworks or implementing the projects, you need to be working alone (or only with your partner if you are doing a project as a pair). In particular, it's never OK for you to see another student's homework writeup or another team's program code, and certainly never OK to copy parts of one person's or team's writeup, code, or results into another's, even if the general solution was worked out together.
Books
![]() |
Tomas Akenine-Moller, Eric Haines, and Naty Hoffman,
Real-Time Rendering
This book is a compendium of good, reliable information that covers many basic and not-so-basic real-time graphics techniques. The third edition is available as an ebook via the library (link). Search for "Real-Time Rendering". Or authenticate at the link above, and then directly go to this link |
![]() |
Marschner and Shirley,
Fundamentals of Computer Graphics
This book is a good source for a lot of the basic computer graphics material, and goes at a bit gentler pace than the book above. Many of you may own a copy of the third edition from CS4620. |
Supplemental Books and Materials:



- OpenGL 4.0 Shading Language Cookbook by David Wolff
- Graphics Shaders: Theory and Practice by Mike Bailey and Steve Cunningham
- GPU Pro 2 Edited by Wolfgang Engel
- OpenGL
"Red Book" --- *the* reference for OpenGL programming
- Nate Robbin's OpenGL "tutors" programs
- 3-D computer graphics: a mathematical introduction with OpenGL, Volume 385, By Samuel R. Buss
- Andrew S. Glassner, An Introduction to ray tracing,
1989