Volume Rendering Framework
Hoover is a minimalist library that facilitates the
construction of simple ray-casting volume renderers.
Basically, you tell hoover information about the camera, image,
and volume, and then provide it with seven callback functions,
implementing the behavior you want:
- At the beginning and ending of the rendering
- At the beginning and ending of a thread
- At the beginning and ending of a ray
- At each sample point along the ray
After all has been set up, you call hoovRender() and let your
callbacks do the work. Hoover is the basis of the simple
pseudo-volume renderer mrender as well as the mite volume renderer. Mite, for
instance, is basically just a different set of seven callbacks to plug
into hoover. By itself, hoover doesn't actually know
the first thing about volume rendering. Multi-threading support is
actually not implemented yet, but as soon as it is, any
hoover-based renderer will be multi-threaded. Hoover is
also not very flexible: there is no concept of reflection or shadow
rays, and only a simplistic load-sharing scheme. However, it gets the
job done, and is a useful framework for implementing a
proof-of-concept volume renderer.
More information as time permits.