Computer Graphics
Summer 2006

Tuesdays, 6pm - 8:20pm
WWH 101


We will have bi-weekly programming projects based on the topics covered in those two weeks. It is strongly recommended that you start the projects on time. It is required that you submit your own work, however you may post and answer each others' questions through our mailing list. 

Please follow the quidelines given in this style guide to write good, clean code and to avoid points taken off your homeworks.


Please email me a zipped version of your working directory with all necessary extras (e.g. project files/makefiles/ whatever is needed to compile your code).  

Also include a readme file, stating the platform your program runs on, whether you did any work for extra credit, or any other information I should consider while grading your homework.

If your code does not compile you will get a zero. Therefore, please make sure you send me all necessary files.

Assignment 0  - due before next class [ 5/23/06 ]
The goal of this assignment is to make sure that you have your programming environment setup for the future assignments. Install GLUT on the computer you are going to use to do the assignments. Compile the test program and send an email to tell me that you have succeeded. There are no points for this but if I don't hear from you on time, you may lose points from the first hw.

Assignment 1 - due on 6/12/06 at 11:59pm 
The goal of this assignment is for you to get hands on experience with transformations - modeling/viewing and projection.

Assignment 2 - due on 6/21/06 at 11:59pm 
This  assignment is all about textures.  Note that this is a one-week(well, and a day) assignment unlike the previous one.
Assignment 3 - due on 6/30/06 at 11:59pm 
This  assignment is on lighting and materials. It allows the user to move lights and change material properties of objects in the scene.

Assignment eXtra - due on 7/10/06 at 11:59pm 
This  assignment is OPTIONAL and prepared to help those of you who need (or anticipate needing) extra credit.

Assignment 4 - due on 7/24/06 at 11:59pm 
For this  assignment you will implement a simple mesh system which lets you load, modify and subdivide meshes. (Note the due date change!)

Assignment 5 - due on 8/10/06 at 11:59pm 
For this  assignment you will implement a simple ray tracer with support for camera, some primitives and shadows. Note that the deadline for this homework is FINAL. I cannot grant any extensions since I need to turn in grades by the next day.