Assignments and Resources

Assignments

You MUST work individually in assignments 0,1,2 and 3.

For assignment 4, you MUST work in groups of 2.

For assignment 5, we strongly recommend you work in a group of 2, but will not require it (the requirements will stay largely the same [thus providing strong encouragement to work in a group], but single-person groups need not implement an acceleration structure, and can receive 1-2 points of extra credit if they do so.)

For assignment 6, you may work individually or in a group of two. Your partners for assignments 4,5 and 6 can be the same or different.

For assignments done with a partner, you should finalize partners by the time the previous assignment is due, and should not switch partners after that point in all but the most extreme circumstances. You may use the same or different partners for all of the group assignments. Your submission README file for these assignments should list both partners. Please see the teaching assistants if you have difficulty in finding a partner, or if there are other issues.

If you scroll past the assignments, this page also has a lot of other useful information, such as example assignments, basic downloads, some useful material on real-time rendering, raytracing resources, and other helpful hints.

Specification FAQ Framework Code Due
Assignment 0 Compilation Notes Demo Code:  Windows VS2010   VS2012   OSX/Linux   Example: info.txt HW 0a due Aug 29, HW 0b due Aug 31
Assignment 1 FAQ Skeleton Code:  Windows VS2010   VS2012   OSX/Linux   Due Sep 12
Assignment 2 FAQ Skeleton Code:  Windows VS2010   VS2012   OSX/Linux   Due Sep 27
Assignment 3 Skeleton Code:  Windows VS2010   VS2012   OSX/Linux   Due Oct 5
Assignment 4 No skeleton code: Open-Ended Assignment Due Oct 31 (milestone due Oct 19)
Assignment 5 FAQ Simple Test Scenes Due Nov 21 (milestone due Nov 9)
Assignment 6 No skeleton code: Final Project Due Dec 10 (Monday)

Best Assignments from Fall 2012

Best Assignments

Example Assignments Showcase

The archive from the Spring 2010 class, and some earlier examples may give you an idea of what is possible (the assignment numbering has changed in some cases from previous years). Note that those classes did not involve programmable shaders, so you should be able to do even cooler stuff now. These examples represent the maximum possible with many earning generous extra credit; you do not need to be alarmed, and do not need to go as far to get a good grade. Still, they should inspire you for the class. Finally, we also include a link to some of the Spring 2012 assignments. These previous assignments are provided for examples and ideas only. You may not copy any part of the source code from people who took this or a similar course in previous years.

Basic Downloads and Hints

What follows below are some of the basic downloads you may find helpful to get the assignments working, as well as some crucial hints. (These are mostly compiled from the Spring 2010 class and may be updated as the semester progresses).

Real-Time Rendering Resources

Ray Tracing Resources

Miscellaneous