Time | Thursdays (Th) at 6:30pm - 9:20pm |
Place | CSE2 G10 |
Final | None |
Staff | Name | |
---|---|---|
Instructor | Brian Curless | curless@cs |
TA | Jeannette Yu | nettevi@uw |
TA | Chung-Yi Weng | chungyi@cs |
There is no required textbook for this course. If you would like to have a textbook to refer to, you may buy one of these:
The Angel text is more applied, closer to OpenGL. The
Marschner text is more mathematical, stronger on theoretical
foundations. Both are good, neither is "perfect" for this
class.
I will point to readings in these books, but
these readings will be optional.
Most of the material
in the course can be learned from the lecture notes I
provide, with some Googling for additional material whenever
you want to go deeper or need to figure out implementation
details for a project. When I do have required reading, I
will provide it as an online handout.
The breakdown is subject to change as a whole and adjustments on a per-student basis in exceptional cases. This is the general breakdown we'll be using:
Projects | 80% |
Homeworks | 20% |
There will be no final exam for this course. However, there will be a lecture during the final exam time slot, during which the final homework is due and animation artifacts are voted on in class.
There will be four projects. Each project will require you to extend some skeleton project with new features to create a working graphics application.
An interactive impressionistic paint system that makes photos look like paintings, similar in spirit to Paul Haeberli's The Impressionist.
A viewer in which to construct a hierarchical articulated model using OpenGL.
A program to create photorealistic raytraced images, complete computation of shadows, reflections, and transparent effects.
An extension of project #2 which includes 2D curves to control joint angles and other parameters of your model and particle systems for physical simulation. Create a 3D animation of your articulated model!
You will have approximately two weeks for each project. Beyond the required extensions to the base project, you are encouraged to attempt bells and whistles, which translate into extra credit points.
Unlimited extra credit is possible on each project. Each extra credit item is rated with a nominal value of "bells" and "whistles". One bell carries the same credit as two whistles. An actual implementation of an extra credit item may be worth somewhat more or less than its nominal value, depending on how well it was implemented. In the end, the instructor and TA's will translate your bell and whistle count into an actual number of extra credit points at a rate of 1 point per bell (and, 1/2 point per whistle).
For each project, you will be required to create an artifact, a final polished example (e.g., an image or model) demonstrating your application, hopefully of some artistic merit. Extra credit will be given for the nicest artifacts, as determined by class vote.
Written homework assignments are due at the beginning of lecture on the due date. Projects are due one hour before class on the due date specified on each project page. You may work on a platform of your choice, but your submission should compile and perform correctly on Windows, which is how it will be graded.
You are allowed a total of five free late days, each extending the deadline by one day until midnight. Beyond that, late assignments are marked down at a rate of 25% per day (not per lecture). Meaning that if you fail to turn in an assignment on time it is worth 75% for the first 24 hours after midnight on the due date, 50% for the next 24 hours, 25% for the next 24 hours, and then it is worth nothing after that. No late days may be used after the final class. Exceptions will be given only in extreme circumstances with prior instructor approval.
You may talk to other students in the course about concepts for homeworks and projects, but you may not take any code or notes away from those conversations. A good rule of thumb is the Gilligan's Island Rule.
The Gilligan's Island Rule: This rule says that you are free to meet with fellow student(s) and discuss assignments with them. Writing on a board or shared piece of paper is acceptable during the meeting; however, you should not take any written (electronic or otherwise) record away from the meeting. This applies when the assignment is supposed to be an individual effort or whenever two teams discuss common problems they are each encountering (inter-group collaboration). After the meeting, engage in a half hour of mind-numbing activity (like watching an episode of Gilligan's Island), before starting to work on the assignment. This will assure that you are able to reconstruct what you learned from the meeting, by yourself, using your own brain.