CS5625 Interactive Computer Graphics
Cornell University, Spring 2020
T/Th 10:10am, Hollister 306 (post Spring Break, 10:25am on Zoom (link on CMS))
Instructor: Steve Marschner
office hours: Tue - 3:30 pm to 4:30 pm and Thu - 2:30 pm to 3:30 pm, via Zoom (link on CMS)
Please check the calendar for any changes in timings of office hours and piazza for link to zoom meetings
- Shachi Deshpande office hours: Unavailable until at leat April 13
- Sitian Chen office hours: TBA (link on CMS)
- Ryan Lefkowitz office hours: TBA
Links to non-open-access articles will work from on campus, or go to library.cornell.edu and search for an article title or DOI to get NetID authenticated access. Most articles also have author-hosted versions that can be readily discovered.
Sign up as a student using this link
During the first three-fourths of the semester there will be three projects that require fairly ground-up implementations of a variety of real-time rendering and animation techniques using C++. Assignments may be done in pairs. Projects will be graded based on reports and in-person demos. These assignments are being updated this semester, and the dates and topics are subject to change. After Spring Break, the projects are running in weekly increments.
There will be an in-class midterm on or around April 9.
The exam is canceled because of the impracticality of remote exams and to make space to complete the originally planned assignments.
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 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.
Office Hours Schedule
Real-Time Rendering (4th ed.)
Tomas Akenine-Moller, Eric Haines, and Naty Hoffman
This book is a compendium of good, reliable information that covers many basic and not-so-basic real-time graphics techniques. The Cornell library provides access to an electronic edition.
Fundamentals of Computer Graphics (4th ed.)
Steve Marschner and Peter Shirley
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 from CS4620. The Cornell library provides access to an electronic edition.
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
"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,