General Information
Prerequisites
- CS 2110 - Object-Oriented Programming and Data Structures
- Basic Knowledge of Vector / Matrix math
4620 requires solid linear algebra, but it’s okay to take it concurrently with 2940 if you have to. It is somewhat less work than CS 3110 - Data Structures and Functional Programming.
Topics Covered
- Graphics Pipeline
- Mesh Generation
- OpenGL / GLSL
- Texturing
- Quaternions
- Splines
- Animation
- Ray Tracing
- Physically based ray tracing
- Monte Carlo sampling
- Basic Shading Models (Phong, Blinn Phong, etc)
Workload
3-4 homeworks: 4-6 hours a piece
3 projects: 10-15 hours a piece
Final raytracer project: 25 hours (broken into 2 parts)
In Spring 2018: 7 projects, split into homework and coding portions. Time investment was similar as before; final raytracer project probably didn’t take as long, though, depending on how well you understood the concepts.
In Fall 2020: Weekly discussion section from 3:00 - 3:50, on either Wednesday or Thursday.
General Advice
If you’re taking the class, it’s good to take the practicum as well because it’s not significantly more time (3 mid-sized projects) and you do some other cool stuff. You don’t really learn much new material (the class meets rarely and when it does, is usually just more office hours), but it will give you a better understanding of things discussed in lecture by having you implement them.
Testimonials
Graphics is a really fun and rewarding class. By nature, the final results can be shown to anyone and give a greater “cool factor” than say, explaining how you came up with a solution to something in Algorithms. A lot of people take CG for granted in movies, but every single pixel of those special effects scenes is calculated by a ton of complex math. This class gives a glimpse of how all of that is actually put together and created.
This class was redone in Fall 2020, with assignments being given in javascript and python (and at one point, GLSL). There were a fair number of problems due to the assignments being created as the course progressed, but it should be mostly ironed out for future semesters. - Fall 2020
Past Offerings
Semester | Time | Professor | Median Grade | Course Page |
---|---|---|---|---|
Fall 2020 | Async w/ | Steve Marschner & Abe Davis | N/A | https://www.cs.cornell.edu/courses/cs4620/2020fa/ |
Spring 2018 | MWF 2:30-3:20 PM | Steve Marschner | N/A | http://www.cs.cornell.edu/courses/cs4620/2018sp/ |
Spring 2017 | MWF 2:30-3:20 PM | Steve Marschner | N/A | http://www.cs.cornell.edu/courses/cs4620/2017sp/ |
Fall 2013 | MWF 2:30-3:20 PM | Steve Marschner | N/A | http://www.cs.cornell.edu/Courses/cs4620/2013fa/about.stm |
Fall 2012 | MWF 2:30-3:20 PM | Kavita Bala | A- | http://www.cs.cornell.edu/Courses/cs4620/2012fa/about.stm |
Fall 2011 | MWF 2:30-3:20 PM | Kavita Bala | A- | http://www.cs.cornell.edu/Courses/cs4620/2011fa/about.stm |