| Date | Topic | At-home | In-class | Due | 
|---|---|---|---|---|
| Mon Jan 13 | Introduction to OpenGL | OPG Ch2 - A Drawing Survival Kit | Activity 0 | |
| Wed Jan 15 | Vertex Arrays & Models | OPG Ch2 - Vertex Arrays | Activity 1 | |
| Mon Jan 20 | Vertex Buffer | Activity 2 | ||
| Wed Jan 22 | Models | Activity 3 | ||
| Mon Jan 27 | Shaders | OPG Ch5 - Real-world and OpenGL Lighting OPG Ch5 - The Mathematics of Lighting | Activity 4 | |
| Wed Jan 29 | Lights and Materials | OPG Ch5 - Creating Light Sources | Activity 5 | |
| Mon Feb 3 | Texture Maps | OPG Ch9 - Overview | Activity 6 | |
| Wed Feb 5 | Texture Maps | OPG Ch9 - Specifying the Texture OPG Ch9 - Texture Objects OPG Ch9 - Assigning Texture Coordinates | Activity 7 | |
| Mon Feb 10 | Normal Maps | Activity 8 | ||
| Wed Feb 12 | Transformation Matrices | Activity 9 | ||
| Mon Feb 17 | Translation & Rotation | OPG AppF - Homogenious Coordinates OPG AppF - Transformation Matrices | Activity 10 | |
| Wed Feb 19 | Scale & Projection | OPG Ch3 - The Camera Analogy OPG Ch3 - Projection Transformations | Activity 11 | |
| Mon Feb 24 | Tranformations | OPG Ch3 - Viewing and Modeling Transformations | Activity 12 | |
| Wed Feb 26 | Mid-term Exam | |||
| Mon Mar 10 | Game Objects | |||
| Wed Mar 12 | Oriented Bounding Box | OBBTree: A Hierarchical Structure for Rapid Interference Detection | Activity 13 | |
| Mon Mar 17 | Vector Operations | Activity 14 | ||
| Wed Mar 19 | Collision Detection | |||
| Mon Mar 24 | Framerate Invarient Animation | Activity 15 | ||
| Wed Mar 26 | Quaternions | Animating Rotation with Quaternion Curves | Activity 16 | |
| Mon Mar 31 | Slerp | Activity 17 | ||
| Wed Apr 2 | Motion Capture | |||
| Mon Apr 7 | Transparency | |||
| Wed Apr 9 | Billboards | |||
| Mon Apr 14 | Particle Effect | |||
| Wed Apr 16 | Shader Effects | |||
| Mon Apr 28 | Final Project Presentations |