next up previous contents
Next: Rendering Up: Summary Previous: Preprocessing   Contents

Data Representation

Figure 8.1: Data structure for efficient volume rendering. During preprocessing, potentially relevant voxels are extracted from the volume and stored into a list (an array). For each voxel, the position, and a set of attributes are stored. The voxels are ordered by one of the attributes, the ``key'' attribute. This might be, for example, data value, or one of the coordinates. Groups of voxels with an identical key value are joint into RenderListEntrys. All RenderListEntrys sorted by the key value form a RenderList.
\includegraphics[width=\linewidth]{Figures/rl.eps}

All voxels which have been classified as relevant are extracted from the volume and stored in a secondary data structure. The structure is simply a list, or array, containing attribute information for the extracted voxels. Each entry corresponds to one extracted voxel, and holds the voxel's position, data value, gradient information and/or other attributes. If different objects are distinguished within the volume, separate lists are created for the voxels of each object. The voxels are sorted by one of the attributes (for example, data value, or one of the coordinates), voxels within the list can be grouped into blocks, so-called RenderListEntrys, with the same value of a ``key'' attribute (figure 8.1). To save memory, the key attribute has to be stored just once for all voxels of the group. All RenderListEntrys, sorted by the value of the key attribute form a RenderList.

For rendering, only information contained within the list is used. Different compositing methods require a specific ordering of the voxels:


next up previous contents
Next: Rendering Up: Summary Previous: Preprocessing   Contents
Lukas Mroz, May 2001,
mailto:mroz@cg.tuwien.ac.at.