Computer Graphics
Summer 2007

Tuesdays, 6pm - 8:20pm
WWH 101


We will have weekly/bi-weekly programming projects based on the topics covered throughout those 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/22/07 ]
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. 

Assignment 0 - part 2 - due before next class [5/29/07]
The goal of this assignment is to make sure you are ready to program on your own for the next "real" homework which will be graded. Please familiarize yourself with the general structure of an opengl/glut code and experiment with the template I have provided. Finally display something interesting and send me a snapshot of your gl window. Try to display something in 3D in order to be better prepared for next week's hw.

Assignment 1 - due on  6/4/07 at 11:59p -- DEADLINE CHANGED to 6/5/07 6pm 
The goal of this assignment is for you to get hands on experience with modeling & viewing transformations.  

Assignment 2 -  due on 6/11/07 at 11:59pm
This assignment is building on assignment 1 where you will implement viewing, projection and viewport transformations as well as user interaction using glut.

Assignment 3 - due on 6/20/07 at 11:59pm
This assignment is all about textures. You will create a texture mapped scene. Note the deadline (it is due Wednesday night as opposed to Monday)

Assignment 4 - due on 6/27/07 at 11:59pm
This assigment is on lighting and materials. It allows the user to move lights and change material properties of objects in the scene.

Assignment 5 - due on 7/4/07 at 11:59pm
This is an assignment on curve drawing. Sorry for the deadline but this is a much simpler hw then others so hopefully you'll be able to finish it before you go to see the fireworks.

Assignment 6 - due on 7/18/07 at 11:59pm -- DEADLINE CHANGED TO 7/22/07 11:59p
For this assignment you will implement a simple mesh system which lets you load, modify and subdivide meshes.

Assignment 7 - due on 8/7/07 at 11:59pm 
For this  assignmentyou 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. Also note that this is a long period of time to finish the homework. This is because it also includes the time for your project presentation.