Assignments

Assignment 0. Due January 30. 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 a message to the grader (NOT the instructor) to tell us that you have succeeded, and confirm that you plan to enroll in the class. No points will be given for this assignment; however, if we do not hear from you on time, up to 20% may be taken off the next assignment.

Assignment 1. Due February 13. Basic OpenGL drawing. Additional notes.

Assignment 2. REVISED. Part I: Due March 2. Viewing, lighting. Part II: Due March 9. Texturing.
Code for loading TGA files: tga.h, tga.cpp.
Viewing example code (you need only the perspective camera window, the rest can be removed: camera.cpp, cvec4t.h, hmatrix.h UPDATED: simplified version of the camera code camera_simple.cpp

Assignment 3. Due April 4. (UPDATE 4/2: deadline extentded to April 9). Meshes. Trackball sample code: trackball.cpp.
mesh_loader.h, mesh_loader.cpp, (OBJ file loader code), and sample program (3/31: initially posted loader and trackball files had bugs, currently posted code is the fixed version).
Several simple OBJ models for testing: cube.obj, tetrahedron.obj, icosahedron.obj, dodecahedron.obj, spaceship.obj.

Assignment 4. Due April 26. Ray tracing. Parser code and sample files

Assignment 5. Due May 14.Shaders. Basic renderer code, from here with minor modifications. Important: this assignment requires a graphics card with up-to-date drivers supporting GLSL (most recent ones do). If you are using Windows and Visual Studio, you need to install GLEW. Microsoft's default OpenGL headers only support OpenGL 1.1. The brick example mentioned in the assignment can be found at the 3dshaders.com web site.