Download

The texture-based volume rendering classes and the example program are free software, distributed under the GNU General Public License. The classes and the example program rely on the Vrui VR development toolkit (not contained in the tarball). The current release of the volume rendering classes is compatible with a wide variety of graphics cards, including all recent ones by NVidia and ATI, by providing three separate methods to apply color and opacity transfer functions to volume data: GL_ARB_fragment_program, GL_NV_texture_shader, or GL_EXT_paletted_texture. The classes select the first one supported by the local OpenGL implementation, in the order listed. Support for GL_ARB_fragment_program requires Vrui version >= 1.0-037. The makefile in the tarball builds the example program without any necessary configuration if pointed to an existing Vrui installation.

The volume renderer example program reads volume files in the .vol file format (follow the link to "Sample Data Sets" in my ECS 277 page), but the volume rendering classes offer an interface to access in-memory volume data in a variety of formats and layouts.

The volume rendering classes themselves can easily be disentangled from their Vrui background -- they do not contain any VR-related code, but are based only on the Misc, Geometry, and GLSupport foundations of Vrui -- and build on most flavors of UNIX, Mac OS X, and even Windows (although there are no guarantees and your mileage may vary).

The tarball available for download below will expand into a VolumeRenderer directory in the current directory. All downloadable files are tagged with their SHA1 checksums to protect against corruption and tampering.