next up previous contents
Next: Discussion Up: Display of Iso-Surfaces Previous: Rendering   Contents


Results


Table 4.8: Rendering times for iso-surface rendering (rows 2 and 4 show the results for the same data set, with and without downsampling)
fig. volume size voxels shear warp frame extract
4.18 $256^2\times 232$ 232k 18ms 15ms 50ms 2.0s
4.19a $256^2\times 158$ 376k 30ms 15ms 61ms 2.2s
4.19b $256^2\times 147$ 253k 20ms 15ms 53ms 1.8s
4.19a $512^2\times 316$ 1.8M 90ms 100ms 220ms 15s


The time needed for rendering and surface extraction have been measured on an PII/400 PC using the Java virtual machine 1.1.8 from Sun with a Symantec just-in-time compiler (for rows 1-3 of table 4.8). The corresponding data sets have been resampled to fit into a $256^3$ cube. The size of the images is $512^2$ pixels. While the time required for the shear step depends only on the number of projected voxels, the time required for warping the intermediate image plane into the final image and also the time required by Java to transfer the image to the screen buffer (included in the overall frame time in column 6) depends mainly on the size of the image. As interpolation is only performed during the warp step, large images ($1024^2$ for example) generated out of $256^3$ data sets are blurred due to strong scaling during interpolation. Row 4 of table 4.8 shows the time for rendering a data set at original resolution ( $512^2\times 128$) on an AMD Athlon 600 PC. As equal voxel size is required in all dimensions, the data set is treated as a $512^2\times 316$ volume during surface extraction. Using data at the original resolution gives satisfactory results for $1024^2$ images. The time required to recompute the shading table is negligible.

In table 4.8 the column ``voxels'' gives the number of voxels extracted from the volume to represent the surface(s). The time required for extraction includes the computation of gradient vectors using the central difference method.

The memory requirements for storing a surface are moderate. For each principal viewing direction each voxel stores the two other coordinates ($2*8$ bits) and the gradient vector (14 bits). For all three principal directions this sums up to 90 bits per voxel. This can be compared to the requirements of a polygonal model of a surface which uses triangle strips: Making a fair assumption, that after an optimization of the surface representation there are approximately just as many vertices in the model as voxels in the presented surface representation, the model requires at least 24 bytes (192 bits) for each vertex (3*float coordinates, 3*float normal to allow handling by graphics hardware). Additional memory is required for referencing the vertices within the strips (indexed triangle strips). Even without considering the memory required to store this connectivity information for a geometric model, RenderLists require significantly less memory.


next up previous contents
Next: Discussion Up: Display of Iso-Surfaces Previous: Rendering   Contents
Lukas Mroz, May 2001,
mailto:mroz@cg.tuwien.ac.at.