CS4621 Computer Graphics Practicum
F 3:35pm - 4:50pm, Uris Hall G01
Instructor: Steve Marschner
Pramook Khungurn (CS4621 head TA, firstname.lastname@example.org)
Disclaimer: This schedule is tentative. It might be changed in the future.
Notice (April 24, 2017): We recently changed several deadlines involving the final project.
|3||Feb||Vertex Attributes, Uniforms, and Varying Variables||Notes|
|17||Feb||2D Transformations||Notes||WebGL Ray out|
|3||Mar||Depth Test and Blending||Notes||
WebGL Ray due
Data Viz out
|17||Mar||No Class||Data Viz due|
|24||Mar||About the Final Project||Maze out|
|31||Mar||Final Project Proposal Presentation (Presentation PDF due in CMS before class)|
|14||Apr||Framebuffer Objects and Image Processing and Picking||Notes||
Form FP group
|5||May||Milestone Presentation (Presentation PDF due in CMS before class)|
|17||May||Final Project Submission to CMS|
|19||May||Final Project Presentation|
Implement a complex client-side WebGL application. Anything that is somewhat more meaty than PPA2 is considered sufficiently complex. This application can be a data visualization tool, a game, an artistic exhibit, or some other types of useful applications. The application must use WebGL to render 2D or 3D images.
Work in groups of 3 to 5 people. You can freely choose your team.
The final project has the following deadlines.
- March 31, 2017 = Final Project Proposal Presentation. Submit a short presentation (in PDF format) to CMS before class. Come to class to give a (maximum) 5-minute presentation of the kind of project you want to do. The purpose of the presentation is to recruit group members. As a result, you do not have to form a team yet.
- April 17, 2017 = Team Formation. Groups must be formed by this date. There will be an assignment in CMS to do this.
- May 5, 2017 = Milestone Presentation. Each group must give a short presentation on what they have accomplished so far.
- May 17, 2017 = Final Project Submission. Each group must submit the project to CMS.
- May 19, 2017 = Final Project Presentation. Each group give a short presentation and demo their final project. Place: TBA.
All the above deadlines do not have slip days.
About CS 4621
According to the Cornell Class Roster, the course description of CS 4621 reads:
Provides CS 4620 students with hands-on experience in computer graphics programming on modern graphics hardware. A semester-long project involves building a substantial interactive 3D system. The course uses Java and OpenGL for code development.
The description is mostly accurate. However, the course staff would like to try something more ambitious, so CS 4621 is really about:
Provides CS 4620 students with hands-on experience in computer graphics programming on modern graphics hardware. A
The reasons for the above changes are as follows:
- In order to build a substantial interactive computer graphics system, students need to learn at least the first half of CS 4620. Requiring them to start at the beginning of the semester, when they actually cannot really start yet, does not make sense.
One aim of the course is to give you an experience on software engineering. You should come out of the course having designed and implemented computer graphics systems by yourself with minimal help from framework code implemented by other people. You may discover that this can be a tedious and error-prone process. A competent software engineer, though, must be able to create abstractions that reduce tedium and error. In order to provide you with opportunities to grow as a software engineer, we will organize the assigments and the final project as follows:
- For all assigments, we will not give you any framework or starter code. You have to code your submission from scratch. However, you may learn from example code that we provide in lectures.
With all that said, we have hope you have fun with the course!