Slice-based Viewer
Usually, a 3D object on a computer is represented by a thin shell of polygons at the surface of the object. A slice-based viewer works very differently than this. The data is stored as voxels-- a 3D grid of 512*512*512 cells. Each cell contains information about the data at that particular point in space. A stack of partially transparent 2D slices are taken through this data and displayed, back to front, on the screen. By manipulating the data as it passes from memory to the screen, lighting effects can be applied. Of course, all this is only possible with a powerful (in 2004 terms) video card that can handle all this memory and process many pixels in parallel. I use a GeForce 6600 GT card, and it strains to get 30 frames per second.

A movie of the viewer in action.

(8MB avi file. Download and run the TSCC codec installer before downloading the movie. )

These are some examples of individual shaded slices. The object displayed above is three sine functions at different orientations added together, and multiplied by a sphere. (Check out my explanation of isosurfaces.)