CS114 Projects in Advanced 3D Computer Graphics
University of California @ Irvine, Spring 2017
T/Th 11:00am, ICS 180
Instructor: Shuang Zhao (office hour: W 1:30–2:30pm, DBH 4214)
- Apr 3: Welcome to CS114!
- Apr 5: Project 1 is out and will be due on Apr 13.
- Apr 18: Project 2, Part 1 is out. The entire project will be due on May 9.
WebGL (slides, demo1, demo2)
instructions on Project 1
|Project 1 out|
|11||Apr||no lecture: additional office hour|
Monte Carlo integration (slides, demo1, demo2)
|Project 1 due|
rendering equation & reflectance models (slides)
instructions on Project 2, Part 1
|Project 2, Part 1 out|
|20||Apr||path tracing (slides)|
|25||Apr||short lecture: instructions on Project 2, Part 2||Project 2, Part 2 out|
|27||Apr||no lecture: additional office hour|
|2||May||no lecture: additional office hour|
instructions on final projects
|9||May||short lecture: instructions on Project 3||
Project 2 due
Project 3 out
During the first half of the quarter, there will be three small to medium sized projects. The second half of the quarter will focus on one final project. The projects will be weighted as follows:
- Project 1: 15%;
- Project 2: 25%;
- Project 3: 10%;
- Final project: 50%.
All projects can be done individually or in groups of two.
Policy for late submissions: Every student has three (3) late days in total to submit his/her work. These late days can be used all for one project or distributed into multiple ones.
Due: Tuesday May 9, 2017 (23:59pm Pacific Time)
- See the project document here.
There is no required textbook. The following is a list of good references for materials covered by this course.
Dave Shreiner, Graham Sellers, John M. Kessenich and Bill Licea-Kane,OpenGL Programming Guide: The Official Guide to Learning OpenGL
The famous "OpenGL red book" provides definitive and comprehensive information on OpenGL and the OpenGL Utility Library.
Randi J. Rost, Bill Licea-Kane, Dan Ginsburg, John M. Kessenich, Barthold Lichtenbelt, Hugh Malan and Mike WeiblenOpenGL Shading Language
Philip Dutre, Philippe Bekaert, and Kavita BalaAdvanced Global Illumination
A comprehensive book on physically-based rendering with detailed explanations on radiometry, Monte Carlo integration, and various MC solutions to the rendering equation.
Questions, help, discussion: The instructor is 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 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 UCI's Policy on Academic Honesty.
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.