CS4621 Computer Graphics Practicum

Cornell University

F 3:35pm - 4:25pm, Kimball B11

Instructor: Kavita Bala

Lecturer: Nicolas Savva

Office Hours


date topic reading 4620 assignments 4621 assignments
26Aug .      
28Aug Introduction and ice-cream social   PA1: Meshes out  
31Aug .      
2Sep .      
4Sep The story of Computer Graphics movie (part II)      
7Sep —Labor Day—      
9Sep .      
11Sep No class   PA1: Meshes due 9/10, PA2: Ray1 out  
14Sep .      
16Sep .      
18Sep Intro to OpenGL/GLSL and LWJGL slides RB Ch1, Ch2    
21Sep .      
23Sep .     PPA1(GPUraytracer) out
25Sep Basics of OpenGL/GLSL 2 slides RB Ch3, Ch4, SB Ch3, Ch6 PA2: Ray1 due, PA3: Scenes out  
28Sep .      
30Sep .      
2Oct No class      
5Oct .      
7Oct .      
9Oct Basics of OpenGL/GLSL 3 (Shading and Lighting) slides RB Ch7, SB Ch12 PA3: Scenes due  
12Oct —Fall Break—      
14Oct .   PA4: Shaders out  
16Oct OpenGL/GLSL 4 (Textures) slides RB Ch6, SB Ch5   PPA1(GPUraytracer) due 10/15, PPA2 (Shaders and Textures) out
19Oct .      
21Oct .      
23Oct OpenGL/GLSL 5 (Geometry Shaders/Tesselation Shaders) and Final Projects slides RB Ch9, Ch10, SB Ch8    
26Oct .      
28Oct .      
30Oct Final Projects I   PA4: Shaders due 10/29  
2Nov .   PA5: Splines out PPA2 (Shaders and Textures) due
4Nov .      
6Nov Particle Systems and Compute Shaders slides RB Ch12, SB Ch10    
9Nov .     PPA3(Particle System) out
11Nov .     Final Project Proposal due
13Nov Final Project Milestone and Review   PA5: Splines due, PA6: Animation out  
16Nov .      
18Nov .     PPA3(Particle System) due
20Nov Final Projects II      
23Nov .   PA6: Animation due, PA7: Ray2 out  
25Nov —Thanksgiving—      
27Nov —Thanksgiving—      
30Nov .      
2Dec .      
4Dec Conclusions   PA7: Ray2 due 12/3  
7Dec No class      
9Dec No class      
11Dec Final Projects Demos      
RB: OpenGL Programming Guide (Red Book) SB: OpenGL Super Bible (Blue Book)


There will be about 4 projects during the semester, due approximately every two weeks, and a final capstone project.

[an error occurred while processing this directive]
[an error occurred while processing this directive]
[an error occurred while processing this directive]
[an error occurred while processing this directive]

About CS4621

In the optional practicum course, CS4621/5621, you will get a more in-depth exposure to the course material and complete an additional project. Students taking the practicum will also be required to attend lectures every week during the Friday meeting time for CS4621/5621.

Questions, help, discussion: The instructors 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 are 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 are 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 are 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 is 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.



Shirley & Marschner,
Fundamentals of Computer Graphics
third edition

Supplemental Books and Materials:

Foundations of 3D Computer Graphics
first edition

Shreiner, Sellers, Kessenich and Licea-Kane,
OpenGL Programming Guide
eighth edition

Sellers, Wright and Haemel,
OpenGL SuperBible
seventh edition