CSC 240: Computer Graphics

Final Project

Due: Monday, Dec. 21, 11:59pm on Moodle

Option 1: OpenGL Animated Game

If you choose this option, the goal is to synthesize everything you've learned in OpenGL so far and construct an interesting and elaborate animated game.


  1. Character: You should have at least one "character" that is animated. (Example: the spider video.) There could be randomness involved in its movements.

  2. Hierarchical Models: You must use hierarchical modeling for the movement of the character's body parts (i.e. correct use of push and pop). It should be more involved than the solar system homework. To start, I would suggest drawing out a tree to describe your character.

  3. Game Play: The user can either control the animated character with keyboard input, or interact with the character in some way. One example would be to have two characters; one moves randomly, and the user controls the other through keyboard movements. The goal would be for the user's character to either chase or run from the other character. It doesn't have to be a win/lose game, just some way for the user to interact with the world.

  4. World and View: The character should be moving around in a 3D (not 2D) "world". I want this to be open-ended, but there should be some context (i.e. floor, walls, a room, an outdoor scene, objects, other characters). It doesn't have to be realistic, but the viewer should feel like they could walk into the space.

  5. Lighting: Use at least one light source to illuminate the world.

  6. Texture Mapping: At least part of the character and part of the world should be texture mapped.

Option 2: Photo-realistic Image in Blender

If you choose this option, the goal is to create a still image in Blender, that looks as much like it could be a photograph as possible.


  1. Start with an existing photo you want to reconstruct in Blender. It could be a photo you've taken or a photo you find. Submit this photo along with your work. If you start with an easier photo, the standard for a realistic version will be higher, and vise-versa.

  2. World and View: The camera should be placed in a similar position to where the real camera was. The scene should be created in a 3D fashion (as opposed to trying to construct the image using 2D shapes).

  3. Lighting: Use as many light sources as necessary to create the lighting effects of your photo (there should be at least one).

  4. Texture Mapping: Use at least two textures in your image.

  5. Save both a .blend file and a .jpg or .png file of the final rendered image.

For either option, submit your work on Moodle. For Option 1, include a txt file of instructions for you game. For Option 2, include the original photo. Final projects should be individual.

For both options, I'll select a few projects to submit for circulation on the Smith Computer Science Department webpage (submit screen shots for Option 1).