6pm - 8:20pm
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
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
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.