next up previous contents index
Next: xray Up: Volume Rendering a Cube Previous: Volume Rendering a Cube

How the rendering is done

You can think of the way a data cube is rendered as lines of sight going from every pixel of the display through the data cube and the voxels (visualisation speak for volume element of the data cube) on a line of sight contribute in some way to the colour and intensity of the display pixel. To decide how every voxel contributes, a number of algorithms (called shaders) are available. We are still experimenting with the shaders and suggestions are very welcome.  


Below are two lists with the shaders available. Note that some shaders are available only in xray and some only in krot. The first list contains simple shaders. The Voxel sum and the Maximum voxel shaders are useful for exploring the data cube, because they are relatively fast and give a reasonable display of the data.

The second kind of shaders uses an equation of radiative transfer to compute the images. We call these shaders hot gas shaders.  

The contribution of a voxel to the pixel on the display is calculated using a simple equation of radiative transfer, where a voxel is partly absorbed by voxels that are in front of it:

c_i = c_{i-1}\cdot(1-o_i) + s_i\cdot o_i,

where ci is the intensity along a line of sight after adding a new voxel in front, si the intensity of the voxel added, ci-1 the intensity along the line of sight that is behind the voxel that is added, and oi the opacity of the voxel i. This calculation is done `back-to-front', so voxels in the back of the cube are partly obscured by voxels in the front part of the cube.

Note that if you specify an opacity equal to zero, this voxel becomes completely transparent but also invisible. You can use this to make features disappear (eg. noise). The disadvantage is that in order to make the data that you want to see transparent, you also make it barely visible. Consequently, the opacity of data you want to see has to be not too low and as a result one will tend to see only the surface of the emission regions.

There are a few versions of this implemented, differing in whether they do the rendering monochromatically or in colour.

next up previous contents index
Next: xray Up: Volume Rendering a Cube Previous: Volume Rendering a Cube
Richard Gooch