CMSC 491E/691E: Computer Graphics for Games

Assignment 3

Scene Graph

Due March 15, 2004

The Assignment

For this assignment, you will create a new WildMagic Renderer to traverse a scene graph. Rather than actually render, your new Renderer class will outut the current scene graph state in a form that some other third-party program can read and render. Your new Renderer need only work with a single WildMagic application, either one of sample applications or one from the first two assignments. You should add a new key event to your chosen sample application to render once using your new save-this-scene-graph Renderer. You need not handle any scene graph node types or rendering state that is not used by your sample app.

I'm open to any combination of output format (excluding mgc) and third-party program. One possibility is to output VRML by printing appropriate text lines in your Renderer, then read it into an application like Blender. Another possibility is to create a RenderMan RIB file by using RenderMan Ri* calls in your Renderer, then use it with some version of RenderMan. I have a linux version of 3Delight (used by the 435/634 class this semester) in /afs/ 3Delight is a free RenderMan implementation available on many platforms, so you could also download your own copy.

CMSC 691E Students

Students taking the graduate version of the class should choose a sample application with texture (or add texture to the sample app you choose), and also output the texture data in a format your third-party program can read and use. It is OK to output a simple (non-mif) format like ppm then rely on external tools to convert it to the final texture format.


  1. This assignment will be similar in difficulty to assignment 2. Start early!
  2. Make sure you know how to use the third-party program and create files it can read before you get too far along. A difficult choice here will be hard to change later.
  3. Your work will be much easier if you choose a sample application that doesn't include too many extras.

What to turn in

Email to me a zip file or gzipped tar file containing: