Spring 2008 22C:251 -- Advanced Computer Graphics (Advanced OpenGL Rendering)
Assignments

Assignment 1: Rendering techniques, Performance evaluation and Blending (Due: Feb 14)

This assignment requires us to render polygon based models using several rendering techniques available under OpenGL. These rendering techniques include Immediate, Display Lists, Vertex Arrays, Vertex Buffer Objects. The assignment further requires us to evaluate rendering performace of each of these techniques with several different meshes. Finally the assignment requires a basic implementation of Alpha Blending with an ability to switch and preview several different blending modes.

Assignment 2: Wireframe techniques, Fog and Programmable Shaders (Due: Feb 28)

This assignment requires us to demonstrate several different wireframe rendering techniques. These techniques include standard polygon line mode, hidden line removal and haloed lines. The assignment then requires us to implement a simple Fog. Further, the assignment requires us to implement a programmable shader loader and write a few basic shaders which shade either the model or the ground plane.

Assignment 3: Framebuffer objects, Game of Life, Filters and Silhouettes using Geometry Shaders (Due: Mar 27)

This assignment requires us to implement Game of Life in a fragment program using Framebuffer objects to feed one stage into another. Then, we are required to implement a chain of filters that could be applied to a source image, the program should allow the filters to be applied in a user specified order. Finally, we are required to implement geometry shaders to extract silhouettes from a half-edge model format models.

Assignment 5: Improve homework 4 with more rendering techniques (Due: May 15)

This assignment requires us to improve homework 4 (links coming soon) with more rendering techniques. We are required to improve the scene complexity, give it a theme as a whole and apply some nice effects to objects. For this assignment I chose to increse complexity, proide dynamic objects, implement Gooch's NPR lighting model, provide dynamically changing textured objects and integrate my shodow map enabled spot-lights with textured spotlights.