[comp.graphics] Volume Rendering basics

akcs.shaulp@tronsbox.UUCP (Shaul Peleg) (03/14/90)

 Can anyone explain to me or lead me to an explaination of exactly,
algorithmically, how to render voxels?

 How is it done? What are the requirements? Is ray-tracing the only way?

 Thanks,
 Shaul Peleg

markv@gauss.Princeton.EDU (Mark VandeWettering) (03/14/90)

In article <25fd9fbe:1119comp.graphics@tronsbox.UUCP> akcs.shaulp@tronsbox.UUCP (Shaul Peleg) writes:
> Can anyone explain to me or lead me to an explaination of exactly,
>algorithmically, how to render voxels?
> How is it done? What are the requirements? Is ray-tracing the only way?

Volume rendering is still a technique that is in its infancy, but some
techniques have proven to be useful.   

Defn:  A voxel is a volume element.  When one speaks of volumetric rendering,
typically a voxel is a small region of space which is filled with a material
of varying optical properties, usually density or emission.  The combination
of many voxels builds up a volume based model.

The value of a pixel in the final image is a function of all the voxels that
pierce a view ray.  (I use raytracing lingo here a bit, but it by no means
indicates that raytracing is the only way to render these).  

When you raytrace volume models, typically you sample the ray at
various points along the ray and then use this to reconstruct a
continuous density curve in the ray parameter.  This you can then use
to calculate the final value of the pixel.  Levoy's paper uses
basically this approach. 

Scanline methods are also possible.  You can render individual voxels at a 
time, carefully scan converting them individually, and using compositing
operators in the manner of Tom Duff to build up the final image in 
back to front (or front to back) order.

If your data is sampled on a regular grid, you can take the image
processing or "Pixar" approach (my nomenclature).  You can use three
dimensional analogues of the traditional image processing techniques of
filtering and edge detection to construct three dimensional "images"
which are then rendered directly.

Try the following papers to get started:

Drebin, Carpenter, Hanrahan, "Volume Rendering", Proceedings Siggraph 88
(There are two other papers on volume rendering in this proceedings)

Levoy, "Display of Surfaces From Volume Data", IEEE CG&A

Porter and Duff, "Compositing Digital Images", Proceedings Siggraph 84

These should give you enough to get started.

Mark VandeWettering

akcs.shaulp@tronsbox.UUCP (Shaul Peleg) (03/16/90)

 Thanks very much. Can you tell direct me to any sampe source, if any exists?

 Thanks again!
 -=SP=-