Two Flavors of Volume Visualization

In this project we'll use two different techniques to visualize volume data. There are four volume data sets we can experiment with:

Ray tracing, combined with a good transfer function, should allow us to make very nice pictures, with both diffuse and specular lighting, from these data sets. Texture slicing can be much faster, gives pretty nice results as well. We may be able to change transfer functions interactively with the texture slicing implementation.

Our goal is to make an application that allows the user to specify different transfer functions and then render images using either technique. The user interface should have controls both for modifying the transfer function, and possibly for controlling the quality of the ray-traced image. If possible, the image rendered with texture slicing should update in real-time or near-real-time when the user changes the transfer function. The ray-traced images should include at least diffuse and specular lighting; lighting on the texture-sliced images might be difficult.

All of the data sets are on the CSIF machines, in the directory ~amenta/volume_data/. Look at the README for more information.

Timetable and Logistics

The assignment is due at 10pm on Thurs May 8.

Here is a suggested timetable:

Your program should run on the CSIF machines in the Kemper basement.

Submit the program using the handin script: put all the files required to compile and run your program into a directory (including a README, but NOT including the data files) cd into that directory, and type "handin cs177 volume *".


Watch the Wiki for links to helpful Web pages. Add things as you find them!