CS 480/680 - Interactive Computer Graphics

Winter 2007

Final Projects

The following are images and videos from some of the outstanding final projects produced by the students of Interactive Computer Graphics!
All images and videos are screenshots of OpenGL programs that were written by each individual student.


Timothy Fagan

The program lets a user create a firework display that allows him/her to set types and colors of fireworks to fire off at certain times. The user is shown a black screen with a timeline at the bottom that is in a subwindow. There is also a subwindow in the top left corner that displays the current color and type of firework being created. By selecting a point on the timeline and then clicking 2 points on the screen the user sets where the start and end points (where it explodes) of the firework. Once started the program progresses through the timeline and shoots a firework if one is found at each time value.


Dan Hennessey

This program recreates a Rubiks Cube in a 3D interactive graphics program. The user only needs to use the mouse to move around and manipulate the cube. Standard mouse movements will produce consistent results no matter how the cube is oriented in space. Clicking on a cube and dragging up or down will rotate the vertical section away or toward the user while dragging left or right will rotate the horizontal section left or right.

Video of program output


Zhijun Liang

This program implements different interactive rendering techniques using OpenGL. Specifically, it implements Cel Shading to render a "cartoon lighting" effect. It also implements environment mapping.


Andreas Loizias

This program implements a 3D game. The setting is similar to the movie TRON, which creates a non-realistic world. The interface of the game allows a user to drive around using keyboard control keys, and "shoot" target objects.

Video of program output


Bruce Mackay

This program implements phong shading via a vertex program and fragment program written in Cg. A simplistic animation effect (oscillation of vertices) is also implemented with a vertex program.

Video of program output


Walter Mankowski

The program creates an OpenGL planetarium, specifically a 3D map of the solar system. Each of the planets and moon rotate about their axes. Each planet orbits around the sun, and each moon revolves around its respective planet. Texture maps are applied to the sun, moon, and each of the planets, to make them look realistic. The sun acts as a point source of emissive light, and illuminates the sides of the moons and planets facing the sun.


Thomas McLean

The program provides a simple centralized storage system for 3D scenes and a renderer for those scenes via a client using OpenGL. The application is a web driven database for OpenGL scene editing and storage. Through the web interface the user is able to upload and store meshes (in SMF format), create materials, and assign these meshes to a scene. The user is also able to control the position, local rotation, and scale of each mesh instance on all 3 axis. In addition to mesh control, the position of a single light source per scene can be controlled.


Kevin Nyman

Given a simple terrain mesh, the program is able to modify properties of the terrain during runtime. This is accomplished by "drawing" on the terrain with a tool similar to a brush that is three dimensional. By drawing on the surface of the terrain, different properties can be changed such as the textures being rendered at the specific point, or the shape of the terrain at that point as well.

Go to Kevin Nyman's Final Project page


Emily Reider

The program uses a hierarchical model to create a 3D fractal tree. An algorithm is applied to scale and translate a copy of a basic building block, repeating until the desired level of detail has been achieved. Leaves may then be added to the tree.


Maxim Shevertalov

The program implements a simple ball rolling game. The player uses the mouse to tilt the world around the X and Z axis, which causes the ball to move in the direction of the slope. The game includes obstacles for the ball to collide with and holes in the world for the ball to fall out of, that the user has to avoid. The program performs some basic physics and collision detection.


Arthur Widmann

The program allows a user to interactively walk through an enclosed environment containing walls, doors, a ceiling, and a floor. The user is be able to move forward and backward, and turn either left or right using the keyboard, as well as activate a button to open a door. The walls, ceiling, floor, and doors are texture mapped. The Phong model is implemented to provide lighting in the environment and materials for objects in the environment. The lighting can be changed into spotlight and flicker mode.

Video of program output



Last modified on March 23, 2007.