Institute for Visualization and Interactive Systems
Interactive Volume Rendering on Standard PC Graphics Hardware Using
Multi-Textures and Multi-Stage-Rasterization
Introduction
Interactive direct volume rendering has yet been restricted to high-end
graphics workstations and special-purpose hardware, due to
the large amount of trilinear interpolations, that are necessary to
obtain high image quality. Implementations that use the 2D-texture
capabilities of standard PC hardware, usually render object-aligned
slices in order to substitute trilinear by bilinear interpolation.
However the resulting images often contain visual artifacts caused
by the lack of spatial interpolation. We propose new
rendering techniques that significantly improve both performance and
image quality of the 2D-texture based approach. We show how multi-texturing
capabilities of modern consumer PC graphics boards are exploited to enable
interactive high quality volume
visualization on low-cost hardware. Furthermore we demonstrate how
multi-stage rasterization hardware can be used to efficiently render shaded
isosurfaces and to compute diffuse illumination for semi-transparent volume
rendering at interactive frame rates.
Techniques
Trilinear Interpolation of intermediate slices:
In order to enhance the image quality of 2D-texture based volume rendering,
an approach to remove the visual artifacts caused by the fixed number of
slices is required. The idea to enable real trilinear interpolation is
to compute intermediate slices on the fly. The missing third interpolation
step is then performed within the rasterization hardware using multi-textures.
Trilinear Interpolation of arbitrary slices:
At first the cross-section of the slicing plane with the bounding box
of the volume is calculated. The resulting intersection polygon is then
cut into a set of polygon strips at the intersection line with the object-aligned
texture slices. Subsequently for each of these polygon strips the image
information is obtained by interpolating the two adjacent texture images.
This is achieved by specification of alpha values for the polygon vertices.
In this case an alpha value of 0 indicates that the corresponding vertex
should be textured with the image information from the first texture. Accordingly,
if a value of 1 is specified the second texture image is applied. Within
the polygon, Gouraud shading is used to interpolate between the alpha values
specified at the polygon vertices. The interpolation between the two texture
images is finally performed by the register combiners
Performance Enhancements:
In addition to the optimization of image quality described above, multi-texturing
can be used to speed up rendering. The idea of this approach is to reduce
the necessary number of triangles by mapping the textures of multiple slice
images onto a single polygon.
Fast shaded Isosurfaces:
Westermann and Ertl [2] have introduced an efficient algorithm that
exploits rasterization hardware to display shaded
isosurfaces. Using multi-stage rasterization, this method can be efficiently
adapted to PC hardware.
Shading for Semi-Tranparent Volumes:
The fast algorithm to display isosurfaces directly leads to a shading
technique for semi-transparent volume rendering using multi-stage rasterization
hardware. The approach is basically the same as the algorithm for shaded
isosurfaces, with the exception that alpha-blending is used instead of
the alpha-test.
Clipping with arbitrary clipping geometry:
Multitexturing can also be used to perform clipping with arbitrary
clipping geometry. For this purpose a second 'stencil' texture is
generated which determines which voxels of the volume are to be drawn or
not. The clipping volume can be interactively moved by adapting texture
coordinates.
Cubic
clipping of a MRI volume
cubic
clipping of a CT volume
cylindric
clipping of a CT volume
spheric
clipping of a CT volume
Results
Performance Enhancements by mapping two textures on one slice polygon
Frame Rates of shaded direct volume rendering
Frame Rates of the GForce implementation compared to the 3D-texture solution
on Onyx2 Base Reality