VolCast  GPU-based (direct) volume rendering

Martin Reichl, Robert Dünger

Copyright © 2006, 2007 M. Reichl, R. Dünger



About volcast

VolCast is a small, flexible and fast volume raycaster. It is written in C++ and uses libsh to generate glsl shader programs.
Drawing of the bounding volume is done by Coin 3D, an free OpenInventor clone.

If you aren't familiar to raycasting or volume graphics at all, you can check the volume casting section to get to some information sources.
VolCast can't compete with most other direct volume rendering software. It is written as an exercise and to give other people a clue to start.
We expect the feature set to grow a little bit more, but not to infinity.

For the initiated, some key features of the system are listed here:

  • real-time edition of the transfer function, providing a fast and nice GUI
  • support for 8 and 16bit volume data sets
  • PVM support
  • pre-integration table
    • using analytical integration of the piecewise linear transfer function
    • integration is very fast and may run multi-threaded on multi-cpu systems
    • the lookup table is uploaded in the background, so rendering isn't paused
  • blinn-phong shading
  • early ray termination
  • offscreen rendering