Interactive Volume Rendering With Ray Tracing
Interactive Volume Rendering With Ray Tracing
Abstract
Recent research on high-performance ray tracing has achieved real-time performance even for highly complex
surface models already on a single PC. In this report we provide an overview of techniques for extending real-time
ray tracing also to interactive volume rendering. We review fast rendering techniques for different volume repre-
sentations and rendering modes in a variety of computing environments. The physically-based rendering approach
of ray tracing enables high image quality and allows for easily mixing surface, volume, and other primitives in
a scene, while fully accounting for all of their optical interactions. We present optimized implementations and
discuss the use of upcoming high-performance processors for volume ray tracing.
Categories and Subject Descriptors (according to ACM CCS): I.3.3 [Computer Graphics]: Raytracing
c The Eurographics Association 2006.
Gerd Marmitt, Heiko Friedrich & Philipp Slusallek / Interactive Volume Rendering with Ray Tracing
Figure 2: 2D examples of volumetric grid types (from left): regular, anisotropic regular, rectilinear, curvilinear, and unstruc-
tured.
Ray tracing corresponds to the common classification of Figure 3: Left: a cell defined by eight voxel locations. Mid-
image-order rendering, while rasterization corresponds to dle: within a cell at each location pi a value can be calcu-
the classification of object-order rendering. Hybrid methods lated by trilinear interpolation. Right: Within a tetrahedron
exist as well. Note that the necessary sorting is implicit in a piecewise linear interpolation can be used to interpolate
ray tracing but not in rasterization. in-between values.
In this paper we discuss volume rendering algorithms that
follow the presented ray tracing definition and only briefly
summarize other volume rendering approaches for refer- For regular and rectilinear data sets we can define cells in
ence. the grid as a box defined by eight grid points. For curvilinear
data sets a transformation from physical space to computa-
tional space [WCA∗ 90] maps the distorted values into a reg-
1.2. Volume Rendering
ular grid which allows for using the box cell structure. Since
Volume rendering is a process to generate 2D images from volume data is defined only at discrete locations in space an
3D volumetric data. Primary acquisition sources for volu- interpolation must be performed to reconstruct in-between
metric data sets are (among others) Computed Tomography values. In the case of regular, rectilinear and curvilinear data
(CT) and Magnetic Resonance Imaging (MRI) scanners as sets, a piecewise trilinear interpolation is usually applied but
well as computational simulations like field and fluid simu- higher order interpolations are also possible [The01] (see
lations. Figure 3).
Unstructured data sets have an irregular cell structure that
1.2.1. Volumetric Data and Interpolation is typically obtained by partitioning the data set into a tetra-
Volumetric data sets consist of (multiple) scalar, vector, or hedra mesh such that a piecewise linear (or higher order)
tensor entities that are given at discrete locations in space. interpolation can be applied within each tetrahedron. The
However, here we focus solely on single scalar values called tetrahedral partitioning yields also a useful adjacency infor-
voxels (volumetric elements). They are the smallest element mation that can be used for rendering.
of computation in volume rendering and represent physical In general a value at point pi can be reconstructed as
quantities like pressure or density. The data type of the voxel weighted sum of the scalar values at the vertices of the cells.
values can be arbitrary ranging from binary up to floating The weights are obtained by computing the local coordinates
point numbers. The structure of these scalar fields of voxels of pi relative to the cell using barycentric coordinates (see
is versatile. Principle categories are whether the data set is Figure 3).
structured or unstructured (aka. irregular). Structured data
sets have an inherent organization that allows for simple ad-
1.2.2. Ray Casting
dressing of the voxels given a position in the data set. On the
other hand, unstructured data sets require additional infor- In contrast to surface ray tracing, the ray casting algo-
mation in the form of an adjacency list for addressing opera- rithm (ray tracing with just primary rays) has to be changed
tions i.e. neighborhood computations. Figure 2 depicts some slightly in order to render images of volumetric data sets.
widely used volumetric grid types and their terminology. Since we do not only have empty space together with an
c The Eurographics Association 2006.
Gerd Marmitt, Heiko Friedrich & Philipp Slusallek / Interactive Volume Rendering with Ray Tracing
Figure 4: Various volume rendering methods used to render the engine data set (from left): decomposition (one slice rendered
as hight map), iso-surface, semi-transparent, maximum intensity projection (MIP), and x-ray.
opaque surface definition, it is necessary to step along the Maximum Intensity Projection: For each view and pixel
ray through the volume to accumulate the contribution from to be rendered, the Maximum-Intensity-Projection method
the semi-transparent voxels (see Section 1.3). The stepping computes the maximum value encountered along the ray.
distance is not necessarily equidistant and can be set adap- This method is often used for Magnetic Resonance An-
tively i.e. for importance sampling. giograms where thin structures, e.g. blood vessels, have to
be rendered accurately.
Ray casting based volume rendering has many benefits
compared to other techniques like superior image quality,
many acceleration techniques to speed-up the rendering pro- Semi-transparent: Semi-transparent rendering considers
cess, and finally is embarrassingly parallel which can be ex- the volume as a transparent medium. If light passes a volume
ploited in various ways i.e. via software SIMD computa- it may be absorbed, scattered, or light may be emitted. To
tions, multiple CPUs, multiple hardware pipelines, and com- render a volume as a transparent medium a transfer-function
pute cluster. (the mapping) maps the scalar voxel values to absorption,
scattering, and emission parameters. Then, the contribution
1.3. Volume Rendering Techniques along a ray can be computed by solving the general volume
rendering integral. The volume rendering integral in its low
In order to obtain a meaningful visualization, a mapping is
used to translate voxel values to optical properties, i.e. ab-
sorption and emission coefficients (aka. color and opacity),
and other entities that convey visual information.
Quantity
In general the literature differentiates between five vol-
ume rendering techniques that operate in image order each MIP
with a special field of application [SM00,LCN98,HJ04]. See
Figure 4 for typical images and Figure 5 for a schematic
overview. X-Ray
Decomposition: Decomposition methods convert the data Iso
set into geometric primitives, e.g. spheres, or slices. The
primitives are placed in space and are scaled and colored Transparent
based on the mapping. Slices are commonly rendered as
pseudo-colored textures, height maps, or are used for further
processing like segmentation.
Depth
Iso-surface: In some applications it is important to exam-
Figure 5: A one dimensional example for ray tracing based
ine the distribution of a certain single value (the iso-value)
volume rendering: MIP seeks along the ray the maximum
within the data set. The visualization of all points p within
value. X-Ray computes the absorption along the ray. Iso-
the data set with the same iso-value (the so called level set)
surface rendering ends at the first hit-point of the ray with a
yields a surface and therefore this method is widely called
user specified iso-value. The semi-transparent method accu-
iso-surface rendering. We can define iso-surfaces formally
mulates emission and in-scattered light until the ray is satu-
as f (x, y, z) = const. A particular important application for
rated.
this rendering method is virtual endoscopy.
c The Eurographics Association 2006.
Gerd Marmitt, Heiko Friedrich & Philipp Slusallek / Interactive Volume Rendering with Ray Tracing
albedo form (scattering is ignored) [HJ04]: as hardware implementations exist for this approach. How-
Z L Rp ever, since graphics hardware became more and more pow-
µ(t)dt
Iλ (x, y, D) = cλ (p)µ(p) exp− 0 dp (1) erful all approaches were adapted to GPUs for several years.
0
computes for every pixel x, y with ray direction D and ray
length L the incoming light I. λ is the wavelength and µ de-
notes the absorption factor [HJ04]. 2.1. Cell Projection
For the sake of rendering performance the general integral An early software implementation based on projection was
is usually greatly simplified and scattering is completely ne- proposed by Lucas [Luc92]. The projected faces of an ir-
glected. This simplified integral becomes after some trans- regular grid are sorted using the Painter’s Algorithm known
formations (i.e. expansion to Riemann sum) two recursive from polygonal rendering. Lucas used only the centroids of
front-to-back compositing formulas, one for the color c each face as sorting criteria which may lead to an incorrect
(emission coefficient) and one for the opacity α (absorption sorting. Wilhelm’s et al. [WGTG96] uses a software scan
coefficient). This is ideally suited for ray casting. conversion optimizing the sorting by using coherence be-
tween adjacent pixels as well as scan-lines. Cell faces are
ci+1 = c(pi+1 )α(pi+1 )(1 − α) + ci (2) always decomposed into triangles. A kd-tree culls invisible
αi+1 = α(pi+1 )(1 − α) + αi regions from the current view point.
At each sampling point (pi ) along the ray this equations are Williams et al. [WMS98] developed an elaborate volume
computed. Whereby c(pi ) denotes the color of the interpo- rendering system purely based on projection. The paper in-
lated voxel value from the transfer function, and α(pi ) is the cludes a detailed description of analytically solving the ren-
opacity. A nice property of this solution is that an early ray dering equation for producing high-quality images. As Ben-
termination can be performed when α is above some thresh- net showed, this system can be well parallelized [BCM∗ 01].
old (1 − ζ). This means that light behind that sample point Another distributed renderer was earlier suggested by Ma et
which would have little effect on the pixel of the image plane al. [MC97]. Here, the data set is partitioned allowing to ren-
is ignored. A back-to-front approximation of the volume ren- der larger volumes. The volume cells are distributed round-
dering integral exists as well but since no early ray termina- robin-like among the nodes. Each node scan converts its lo-
tion can be performed [SM00] this method is seldom used in cal cells and sends the calculated ray segments to their final
volume ray casting applications. destination in screen space for sorting and merging.
c The Eurographics Association 2006.
Gerd Marmitt, Heiko Friedrich & Philipp Slusallek / Interactive Volume Rendering with Ray Tracing
Using 3D texture mapping, Röttger et al. [RKE00] were A fast iso-surface ray casting algorithm also based
able to extend the projected tetrahedra algorithm [ST90] for on object-order ray casting is proposed by Neubauer et
hardware-accelerated and accurate rendering of volumetric al. [NMHW02] (see Figure 7 for two example images). The
data. Parts of the volume integral depending upon the length
of the segment are linearly approximated by a modulation
of the vertex colors. The remaining parts depend upon the
textural coordinates only and can therefore tabulated in a 2D
texture map.
c The Eurographics Association 2006.
Gerd Marmitt, Heiko Friedrich & Philipp Slusallek / Interactive Volume Rendering with Ray Tracing
then ray tracing-like processed by shooting rays intersecting the volume into smaller sub-volumes with similar properties.
the splats in space. These properties depend on the transfer function, e.g. scalar
values within a certain range are grouped together. A kd-
Splatting can be further distinguished between composit-
tree is used to render this partitioned volume with correct
ing all splats back-to-front and the so-called sheet-buffer
visibility order, where each node in the tree corresponds to a
method [MC98]. Here, the splats are organized in cache-
sub-volume. Each sub-volume is culled and clipped against
sheets, which are subsequently added back-to-front. These
an opacity map. This opacity map corresponds to a region
cache-sheets are aligned with the volume face most paral-
of the frame buffer and stores the minimum opacity of the
lel to the image plane. This results in popping artifacts, if
frame buffer pixels in that region.
the orientation of the compositing sheets suddenly changes.
Arranging the sheet-buffer parallel to the image plane over- Krüger et al. [KW03] addressed speed-optimizations re-
come this problem [MC98]. To this end it is necessary to add ducing per-fragment operations. The early Z-test is exploited
slabs of partial kernels within the sheet. to terminate fragment processing for implementing early ray
termination and empty space skipping.
Aliasing effects caused by the discrete evaluation of the
splatting equation can be relaxed by adapting Heckberts el-
liptical weighted average (EWA) re-sampling filter for vol- 2.4. Shear-Warp
ume splatting [ZPvBG01]. The footprint function is replaced Shear-warp [LL94] is still one of the fastest software imple-
with a re-sampling filter. Each footprint function is now sep- mentations for volume rendering. The basic idea is to factor-
arately band-limited and hence respecting the Nyquest fre- ize the projection matrix into a 3D shear and 2D warp. Using
quency of the rasterized image. Chen et al. [CRZP04] pro- the shearing the data set is transformed into sheared object
posed an adaptive EWA filter to get rid of further aliasing space. In this space all viewing rays are parallel to one co-
artefacts. Such artifacts are caused by voxels far away where ordinate axis and the volume is considered as a stack of 2D
the sampling rate of diverging viewing rays falls below the slices. The 2D slices are then aligned and re-sampled such
sampling rate of the volume grid. For close voxels, the sam- that they are perpendicular to the viewing directing. Then an
pling rate of the rays is higher then the volume sampling rate. intermediate image can be composed using the sheared ob-
Approximating the EWA re-sampling filter with the domi- ject space values. Finally the intermediate image is warped
nant reconstruction filter only yields better rendering quality. to the image plane. For a perspective transformation each
slide needs an individual scaling during re-sampling.
2.3. Texture Mapping Rendered images are prone to show stair-casing artifacts
Cabral et al. [CCF94] was one of the first showing that tex- near 45◦ viewing angle. Intermediate slices lying halfway
ture capabilities of graphics boards can be used directly for between two adjacent volume slices overcome this problem.
rendering volumetric data sets. It can be seen as a hybrid ap- Images may furthermore blur during a zoom-in, since the
proach between backward and forward projection, since the re-sampling of the warp matrix is not adaptive. An enhanced
iteration over texture coordinates is ray tracing like while a version solving these problems can be found in [SM02] but
forward projection loops over all values to find the appro- increase the computational cost.
priate texture coordinates to sum into. The slicing plane tri-
linearly interpolates the scalar value and the texture mapped 2.5. Custom Hardware
slices are blended into the frame-buffer in a back-to-front
The need for custom graphics hardware arise with the de-
manner.
mand for real-time volume rendering systems. Neither GPUs
Engel et al. [EKE01] improved the rendering quality by nor CPUs were fast enough at that time to achieve this
proposing pre-integrated volume rendering. The ideas pre- goal. Most systems has been developed for rendering reg-
sented in [RKE00] are extended and improved for regu- ular data, e.g. Cube [KK99], Vizard [KS97] and, Volume-
lar grids. Basically, all slices are converted to slabs, i.e. Pro [PHK∗ 99]. Due to the highly regular computation all
they are enriched with a thickness so that interpolated val- of them achieved real-time frame-rates allowing for inter-
ues in-between cannot be missed by an “unfavorable” de- active rendering. However, changing or extending custom
fined transfer function. The numerical integration is split hardware is tedious and costly. Another disadvantage which
into two parts. One for the continuous scalar field and one they share with GPUs is the limited memory. Out-of-core
for the transfer functions. The lookup tables needs modifica- solutions are in general not an alternative due to the high
tion only when the transfer function is changed. Röttger also bandwidth needed.
combined this approach later with volumetric clipping and
Cube [KK99] is based on a hybrid-order algorithm based
advanced lighting [RGW∗ 03].
upon Shear-Warp. However, it was planed to compute only
The approaches discussed so far compute all scalar values the shear-step on-board and let the graphics board warp and
of the grid for rendering the volume, no matter if they are render the image. Eight identical rendering pipelines are able
visible or not. Li [LMK03] proposed therefore to partition to render a 2563 volume at 30 fps.
c The Eurographics Association 2006.
Gerd Marmitt, Heiko Friedrich & Philipp Slusallek / Interactive Volume Rendering with Ray Tracing
Never commercially realized, Cube [KK99] was the pre- Analytic Methods
decessor of the well-known VolumePro board [PHK∗ 99].
The iso-surface within a cell can be reconstructed using a
Although the scalability was enhanced, perspective render-
trilinear interpolation. To do so, the ray equation R(t) is
ing was still not possible. The latest generation consists of
substituted into the trilinear interpolation equation. Solving
separate sample and voxel processing pipelines. Voxel pro-
the resulting equation for t results in a cubic polynomial
cessors traverse data slice-by-slice in memory order and
(see [PSL∗ 98] for a complete derivation and discussion).
store them in on-chip buffers. These buffers are traversed
by sample processors responsible for illumination, filtering This cubic polynomial can be solved analytically by ap-
and compositing. More interestingly, perspective rendering plying i.e. Cardano’s formula. Nonetheless, an efficient and
is now possible [WBLS03]. numerical stable implementation is non-trivial [Sch90], even
when using double precision computations. Furthermore,
Vizard [KS97] and Vizard II [MKW∗ 02] was based on
computational expensive calculations like (a)cos are in-
an image-order offering full ray casting including early-ray
volved. Marmitt et al. [MFK∗ 04] proposed a faster and nu-
termination. Phong shading was implemented using look-up
merical more stable method, although only single preci-
tables. The performance is not comparable to VolumePro due
sion computations are used. The key to their fast algorithm is
to the FPGA implementation. This makes this system more
the observation that actually only one root of the cubic poly-
flexible at the cost of the achieved frames rates.
nomial is needed. They isolate the roots by computing the
The methods discussed so far provide fast and reliable extrema of the polynomial. These extrema split the ray seg-
volume rendering. Parallization is in almost all approaches ment into at most three parts. Then they step through these
possible which works, e.g. in favor of modern GPUs. How- segments from front to back, computing the data values at
ever, as we will see in section 5.3 the flexibility of modern its start and end point from the cubic polynomial. Once an
graphics boards allows the implementation of ray casting di- interval containing zero is found, it can be guaranteed that
rectly. This significantly improves the image quality while it contains exactly one root, that the root lies in the interval
preserving the speed. Splatting, Texture-Mapping and Shear- and that it is the first relevant root.
Warp are also fast and memory-efficient but lacks rendering
The root in the interval can then be calculated by a simple
quality. Custom hardware is fast and delivers high-quality
recursive bi-section until the desired accuracy is reached or a
but offers so far only a limited flexibility.
small number of bi-section steps is performed. The latter one
Scientific visualization demands high-quality and flexibil- is more efficient and after three to four iterations commonly
ity. Ray tracing naturally offers both, while being always no visual differences can be observed. The calculation of an
considered as too slow. In the following sections we will intersection point with this method is exact, numerical more
present algorithms and data structures to accelerate volume stable, and approximately three times [MFK∗ 04] faster com-
rendering and techniques to improve image quality. pared to i.e. Schwarze’s algorithm [Sch90] to solve Cardanos
formula.
3. Ray Tracing based Rendering of Rectilinear Data
Approximative Methods
Regular and rectilinear data sets are the most common grid
types in volume rendering. Almost all scanner devices and Faster methods are only reported for intersection tests that
many simulation applications output these grids. In the fol- roughly approximate the intersection points but may fail to
lowing three sub-sections we will discuss efficient algo- find valid intersections although existing. One representative
rithms for iso-surface rendering, semi-transparent volume for this is the method of Neubauer [NMHW02]. He sug-
rendering, and MIP in addition to the necessary data struc- gested to use repeated linear interpolations. At the intersec-
tures to speed up the rendering process or to increase the tion points pin and pout of the ray with the cell the values vin
image quality. and vout are calculated. Then it is assumed that the function
along pin and pout is linear. Solving the linear interpolation
formula for ti an intersection point ti can be calculated. By
3.1. Ray Tracing based Iso-Surface Rendering applying a trilinear interpolation at ti and looking at vin and
The performance of iso-surface ray tracing depends heav- vout a ray segment can be identified where a more accurate
ily on two algorithms: the intersection test of the ray with intersection point can be found. This process is repeated re-
the implicitly defined surface function within a cell, and cursively. Although this method is computational very cheap
the identification of cells which contain a piece of the iso- it is error prone since it only linearly approximates the trilin-
surface in front-to-back order. ear function.
3.1.1. Ray Iso-Surface Intersection Tests in a Cell Intersection Test Satisfying Smoothness Conditions
Various methods have been proposed to calculate the inter- Until now we have only considered intersection tests that
section point of a ray with the implicit iso-surface function operate solely in one cell and thus there is no higher order
in a cell. continuity, i.e. C1 , guaranteed at cell boundaries.
c The Eurographics Association 2006.
Gerd Marmitt, Heiko Friedrich & Philipp Slusallek / Interactive Volume Rendering with Ray Tracing
Rössel et al. showed in [RZNS04] how to exploit boundaries of the iso-surface. Additionally, shading gradi-
quadratic super splines to reconstruct iso-surfaces that sat- ents can be directly computed from the polynomial pieces
isfy a pseudo C1 continuity criterion along cell boundaries of the splines. Nevertheless, the memory requirements for
and thus produce smooth iso-surfaces contours. To do so, the needed coefficients is high and a careful tradeoff must
each cell of the data set is partitioned into 24 congruent tetra- be made between pre-processing of all values and on-the-fly
hedra and 65 Bernstein-Bézier coefficients are calculated. computation.
This allows for performing a ray iso-surface intersection test
by solving quadratic equations along a ray, for each tetrahe- 3.1.2. Fast Boundary Cell Traversal
dron. The quasi-interpolating spline is a univariate piecewise
quadratic polynomial. A naïve ray casting algorithm would step along a ray and
test all pierced cells whether a piece of the iso-surface can
The required 65 coefficients per cell (50 on the cells faces, be found within the cell. This is only applicable for small
14 on the midpoints of the tetrahedra edges and one at the data sets due to the high number of memory requests for
center position) are computed by a repeated averaging pat- the voxels which would cause cache thrashing. Addition-
tern using 27 data values at the centers from the surrounding ally, it is computational expensive to determine if a cell is
cells. This results in ten coefficients per tetrahedron (four at a boundary cell. In order to quickly locate cells that contain
the vertices and six at the middle of the edges). the specified iso-value along the ray, acceleration structures
To intersect a ray with the iso-surface within a tetrahe- and -techniques are required.
dron, first three values w1 , w2 and w are calculated apply-
ing de Casteljaus algorithm at the intersection points of the Implicit Min/Max KD-Trees
ray with the tetrahedron q1 and q2 as well as their midpoint
(q1 + q2 )/2 using the ten Bézier coefficients of the tetrahe- An approach by Wald et al. [WFM∗ 05] utilizes min/max kd-
dron (see Figure 8). trees for coherent iso-surface ray tracing (see Figure 9 for
some example screen-shots). In coherent ray tracing, SIMD
The required quadratic equation extensions can be successfully exploited for traversing pack-
ατ2 + δβτ + δ2 w1 = 0 , τ ∈ [0, δ], (3) ets of rays in parallel. This can be realized efficiently with
kd-trees, which require only a single binary decision per ray
specifying the intersection point p of the ray with the iso- in each traversal step. Although kd-trees seem ill-suited for
surface can be now set up using w1 , w2 , and w. δ denotes data-parallel packet traversal, as all of the cells in a regular
the maximum in the hit interval, α = 2(w1 + w2 − 2w), β = data set are small and thus rays in a packet could diverge
4w − 3w1 − w2 . and may traverse/intersect different cells, this argument is
This intersection test is quite efficient in terms of compu- less relevant for iso-surface rendering.
tational requirements and allows for rendering high quality A particular iso-surface defined by the data set is only lo-
iso-surfaces which satisfy a pseudo C1 continuity along cell cated within a small subset of all cells. These cells, called
boundary cells, are in general irregularly distributed, sparse,
and often enclosed by large regions of empty space. These
w properties are ideal for kd-trees [Hav01] (see Figure 10).
w1 w2
q2
q1 q
c The Eurographics Association 2006.
Gerd Marmitt, Heiko Friedrich & Philipp Slusallek / Interactive Volume Rendering with Ray Tracing
Figure 9: Various iso-surfaces rendered with Wald’s kd-tree approach [WFM∗ 05]. From left to right: the aneurysm, the bonsai
data set with two opaque iso-surfaces, the head of the visible female project with two transparent surfaces, and finally the bonsai
tree in a polygonal environment including instant global illumination [WKB∗ 02]. All images can be rendered at interactive
frame rates on commodity PCs.
c The Eurographics Association 2006.
Gerd Marmitt, Heiko Friedrich & Philipp Slusallek / Interactive Volume Rendering with Ray Tracing
c The Eurographics Association 2006.
Gerd Marmitt, Heiko Friedrich & Philipp Slusallek / Interactive Volume Rendering with Ray Tracing
creases linearly with the number of render nodes. With one Many interactive solutions have been proposed during recent
render node approx. 1 fps can be achieved and with 32 nodes years, each trading rendering speed for quality or flexibility.
up to 22 fps. All in between values lie on a almost perfect
The key for fast semi-transparent volume rendering is
linear line. The LLNL data set can be rendered, dependent
the optimization of the following three elements (beside the
on the complexity of the iso-surface, with 2.2 up to 6.7 fps
early ray termination previously described in Section 1.3):
using the complete cluster system.
60% to 80% of all voxel values are classified transpar-
3.1.4. Comparisons ent by the transfer function in real world applications and
thus are not visible. Efficient space leaping structures and
In comparison to Wald’s kd-tree approach the system of De- techniques are required to skip cells and complete volume
Marle consumes much less additional memory for its accel- regions that do not contribute to the final image (Section
eration structures. However, the reported performance is al- 3.2.1).
most five times slower for the visible female data. Wald re-
ports a performance of approximately 8.1 fps on a single PC Many results of computations, i.e. normal estimations for
with two AMD Opteron 1.8 GHz CPUs. Furthermore, their shading, are (re)computed whenever they are needed. As
out-of-core extension from [WDS04] allows to render the neighboring rays tend to perform very much the same com-
LLNL data set interactively on a single PC. Reasons for this putations, it is worthwhile to cache values which can be
are mainly the optimized intersection test and the kd-tree ac- reused for the next ray, or packet of rays (Section 3.2.2).
celeration structure which in general compares favorably to
Volume rendering requires a very high memory band-
the multi-level grid structure used by DeMarle.
width and may causes cache thrashing by displacing fre-
quently used data values from the caches. In order to achieve
3.1.5. Discussion and Conclusions high rendering performance this cache thrashing should be
In this section we have presented several algorithms to inter- reduced as much as possible since memory requests can be
sect rays with implicit iso-surfaces, acceleration structures extremely expensive in terms of clock cycles (Section 3.2.3).
and further optimization techniques as well as out-of-core
techniques for the rendering of extremely large datasets. 3.2.1. Space Leaping/Empty Space Skipping
For iso-surface rendering the intersection tests of Mar- Space leaping is maybe the most effective acceleration tech-
mitt [MFK∗ 04] and Rössel [RZNS04] have both their nique for semi-transparent volume rendering as it reduces
strength and weakness. If memory overhead and computa- the number of reconstruction samples. In general we can dif-
tional costs are not an issue and high accuracy, i.e. C1 con- ferentiate between techniques which use a spatial data struc-
tinuity, is required the approach of [RZNS04] is probably ture to skip empty regions and methods that exploit coher-
the algorithm of choice. In all other cases the approach of ence without pre-computing any data structures.
Marmitt et al. [MFK∗ 04] should be considered since correct
results are obtained, i.e. all intersections are found, the com- Space Leaping with Spatial Data Structures
putational costs are very low, and no additional memory is
needed. In Section 3.1.2 we have described two acceleration struc-
tures namely multi-level grids and kd-trees to speed up iso-
Similar as for polygonal scenes, kd-trees have proven to surface ray tracing. Other structures like octrees [WV92] and
be an efficient acceleration structure for iso-surface render- bounding volume hierarchies can be exploited as well. The
ing and the memory footprint is also within practical lim- important point is that min/max values are available at ev-
its. Furthermore, just a single technique is necessary and no ery granularity level of the acceleration structure in order to
“magic” parameters have to be selected to speed up the ren- know the range of values within the sub-structures.
dering performance.
This min/max values are not effective for semi-transparent
In recent work of Wald et al. [WIK∗ 06, WBS06], rendering as the transfer function determines which voxels
Reshetov et al. [RSH05] and Lauterbach et al. [LYTM06] are visible and which are not. Commonly a summed area
new traversal algorithms for grids, kd-trees and bounding table is build over the opacity values of the transfer func-
volume hierarchies have been proposed to speed up the ray tion. With two simple lookups in this table, one for the min
tracing performance for polygonal scenes up to a factor of and one for the max of a data structure element, it can then
ten. It would be interesting to exploit these new techniques be determined if a spatial region is fully transparent or not.
also in the domain of volume rendering. However, this scheme is only correct if the color and opacity
lookup in the transfer function occurs after sampling (post-
classification). Pre-classification first determines the colors
3.2. Semi-Transparent Rendering
and opacities for the cell’s voxels and then use them for in-
Maybe the most important visualization method for volu- terpolation. Thus, it might be possible that a color value of
metric data sets is the semi-transparent rendering model. zero is computed when the mapping of the voxels specifies
c The Eurographics Association 2006.
Gerd Marmitt, Heiko Friedrich & Philipp Slusallek / Interactive Volume Rendering with Ray Tracing
Figure 12: A close up of the visible male data set (hip region) rendered with the approach of Grimm et al. [GBKG04].
c The Eurographics Association 2006.
Gerd Marmitt, Heiko Friedrich & Philipp Slusallek / Interactive Volume Rendering with Ray Tracing
number of voxels in the brick. Every time a gradient has to are four cache lines (the so called set) where a particular
be computed the corresponding presence bit is checked if data from the memory can be mapped to. Considering that
the gradient is already computed. If not, the gradient is cal- the main memory is internally subdivided into equal sized
culated. After processing the brick, the cache is flushed for pages whereby the offset of a particular data in this page
the next brick. Therefore the gradients on the border of a determines the set in the cache, four times more memory
brick have to be calculated up to eight times, which is rarely for the volume data set is allocated as actually needed. The
the case and thus no significant performance is lost. In aver- voxel data are then only placed in the first quarter of each
age a speed up factor of approximately 2.2 can be expected page. Now we know that data which are placed in the re-
by using the gradient cache. Nevertheless, this high speed maining parts of the pages will never be replaced by voxel
up can only be expected if orthogonal projection is used. In data, within the cache.
perspective rendering the rays can diverge for bricks that are
In order to reduce the cache thrashing of the voxel data,
far away from the image plane. As a result the distance be-
the order of the voxel values is altered via a cubic interleaved
tween neighboring rays is large, which will lower the reuse
address function. Using such an interleaved memory stor-
ratio for the caches.
age a cube of n3 voxels occupies n × n × n cache locations
(assuming n is a power of two, and n3 is smaller than the
3.2.3. Memory and Cache Optimizations cache size). This reduces cache thrashing and thus increases
Knittel [Kni00] presented with UltraVis a highly optimized the cache hit ratio since neighboring rays very likely access
ray casting approach for semi-transparent volume rendering some of the previous cached voxel values.
which is especially targeted for Intel’s Pentium III proces-
sor. His approach depends heavily on concrete details of 3.2.4. Discussion and Conclusions
the cache replacement strategies of the PIII processor. He Many techniques have been proposed to speed up semi-
transparent volume rendering and only a fraction could be
discussed here. However, today there is no software imple-
mentation that is able to render high quality images of mid-
sized data sets on a single PC without any limitation either
in terms of quality or flexibility i.e. orthographic rendering is
used to simplify the rendering process. Furthermore, accel-
eration techniques like object-order ray casting [MJC02] are
only useful for primary rays. If secondary rays are needed
there is no single basis like the image plane where these
tricks can emanate from.
However, new processors like IBMs Cell are on the way
Figure 14: Two example images of the UNC MRI-head, with which can avoid some of the problems that are inherent
256 × 256 × 110 voxel resolution, rendered with the Ultra- in semi-transparent volume rendering. For example Knittels
Vis system on a PIII 500MHz system and 256 × 256 image approach to avoid cache thrashing is not necessary on the
resolution. The images are rendered between 1.7 and 7.0 fps. Cell architecture since there is simply no cache on the Cell’s
SPUs. The new challenges are then mainly how to keep the
observed that a major obstacle for high performance vol- SPUs busy using i.e. virtual hypertheading techniques in
ume rendering is the limited memory bandwidth. Ray tracing software as well as “hand tuned” caching for data which are
based volume rendering has a memory access pattern that not frequently used and sometimes altered. Additionally, to-
does not fit today’s cache architectures and thus many data days solutions which rely on massive computational power
have to be reloaded numerous times due to cache thrashing. using compute clusters can maybe shrunk to a single PC us-
ing the Cell processor.
Cache Optimizations and Spread Memory Layout
3.3. Maximum Intensity Projection
In Knittel’s UltraVis system three different data structures
are accessed: the volume data itself, the transfer function MIP is an important technique mainly used in real world
and additional parameters such as thresholds and shading medical imaging applications to visualize thin structures like
parameters. blood vessels or contrast-enhanced tissues. Not very much
research has been done for this kind of volume render-
In order to avoid the replacement of frequently used data
ing [ME05].
in the cache, i.e. the transfer function values, a spread mem-
ory layout is used to virtually lock the data in the level Parker et al. suggested in [PPL∗ 99] the use of a prior-
one cache once they are loaded. The Pentium III proces- ity queue in conjunction with a spatial data structure i.e.
sor uses a 4-way associative cache which means that there min/max multilevel grids. The priority queue is used to keep
c The Eurographics Association 2006.
Gerd Marmitt, Heiko Friedrich & Philipp Slusallek / Interactive Volume Rendering with Ray Tracing
4. Ray Tracing based Rendering of Irregular Data Sets therefore cover recent implementations in this area in more
detail.
Handling curvilinear or even unstructured data is more
demanding compared to regular grid structures. However, Garrity [Gar90] and Williams et al. [WCA∗ 90] were the
software ray-casting systems were proposed as early as first who considered software ray casting for irregular grids.
1990 [Gar90, Lev90, WCA∗ 90]. Different methods have Wiliams decomposes each hexahedral cell into twelve trian-
been developed in the following years. Usually, two steps gles and uses the barycentric coordinates for interpolation of
needs to be taken for rendering irregular data. In a first step, data values. Garrity decomposes each hexahedral cell into
the initial cell (tetrahedron or hexahedron) is determined us- five tetrahedra (see Figure 15) and performs ray-plane inter-
ing some acceleration structure over the volume boundary sections for his incremental traversal.
faces. The following step iteratively traverses all subsequent
cells along a ray until the last cell is reached. Incremental 4.2.1. Computational Space Traversal
traverser require adjacency information and hence do not al- Frühauf [Frü94] traverses a curvilinear grid in computational
low for sliding interfaces, i.e. complete faces must be shared space. This greatly reduces the difficulties of resampling
between adjacent cells along the ray since the computational space is regular. First,
the Jacobian is approximated using the central differences
of the adjacent vertices in computational and physical space.
4.1. Locating the initial Cell
Each vertex or vector can then be transformed from compu-
One obvious way to find the initial cell is the extraction of tational into physical space and backwards using the Jaco-
boundary faces from the data set for tetrahedral and hexa- bian matrix.
hedral meshes. Such faces are easily identified as they are An incremental grid-traversal for regular grids is then em-
the only faces not shared between two cells. A spatial in- ployed to resample the scalar values. At each face intersec-
dex structure over those faces of the cells then allows to tion of a grid cell, the ray is bend according to the pre-
quickly locate the entry point and cell using standard ray computed vectors, using bilinear interpolation. To reduce the
tracing techniques. computational costs, all computed bending vectors along a
Several researchers [BKS97, HK98, HK99, KN91] pro- ray are stored and updated only when changing the view-
posed to project the boundary faces onto the image-plane point. Hence, if the mapping parameters, e.g. transfer func-
and fetch the associated cell from the data set. A disad- tion, changes, the pre-computed ray paths can be used di-
vantage of these approaches is, that they require an up- rectly. Unfortunately no performance measurements were
date each time the view-point changes. This is avoided reported.
by using a spatial index as acceleration structure. So far
grids [Gar90, PPL∗ 99] and kd-trees [MS06] were proposed. 4.2.2. Ray-Plane-based Traversal
Ma [Ma95] was one of the first exploiting the parallelism
of ray tracing for rendering tetrahedral data. The data set as
4.2. Ray-Primitive Traversal
well as the rendering is distributed among processing nodes.
Image order ray casting was not only one of the first meth- In a pre-processing step, the volume is partitioned such that
ods proposed for rendering irregular grids but also reached each processor handles only a sub-volume. Boundary faces
interactive frame rates as early as 1999 [PPL∗ 99]. We will are projected orthographically onto the screen to determine
c The Eurographics Association 2006.
Gerd Marmitt, Heiko Friedrich & Philipp Slusallek / Interactive Volume Rendering with Ray Tracing
the first cell along a ray. Exit faces are determined as de-
scribed in [Gar90]. All processors accumulate the interpo-
lated values along a ray independently. These contributions
need to be sorted with respect to the visibility order before
the final image can be composed. Ma showed that the frame
rate scales linearly with the number of processors.
c The Eurographics Association 2006.
Gerd Marmitt, Heiko Friedrich & Philipp Slusallek / Interactive Volume Rendering with Ray Tracing
Furthermore, the Plücker test directly provides the scaled provide the scaled barycentric coordinates directly. To visu-
barycentric coordinates of the intersection of a ray with
the three edges ei of a triangle, which is a major advan-
tage to plane intersection-based approaches. Thus to com-
pute barycentric coordinates each Plücker value only needs
to be divided by the sum of all three values obtained from
the three edges of a triangle:
3
wi = πr πei and ui = wi / ∑ wi (6)
i=0
Tetrahedral Traversal
Intersecting a single tetrahedron with a ray by converting all
lines into Pücker space was already demonstrated by Platis
et al. [PT03]. To achieve this, the tetrahedron was decom-
posed into four faces resp. triangles. In general a ray hits Figure 19: Seamless integration with surface ray tracing.
two of the four triangles when intersecting the tetrahedron. The volume data set, in this case the Bucky-ball, is aug-
In a tetrahedral mesh, all inner tetrahedra are connected and mented and surrounded by reflective surfaces and light
therefore one intersected face is already known when reach- sources [MS06].
ing a tetrahedra during traversal.
The advantage of the Plücker space is however, that not all alize iso-surfaces it is sufficient to check whether the user-
faces need to be tested separately, as in the ray-plane inter- defined value is within the interpolated scalar values com-
section case. Instead we benefit from the fact, that each edge puted at the entry and exit face with the barycentric coor-
of the tetrahedron is shared by two faces. Since also each dinates. Figure 19 shows the Bucky-ball in a polygonal en-
face is shared by two tetrahedrons, the computed Plücker vironment with several light sources. For semi-transparent
tests for the exiting face corresponds to the subsequent entry rendering, the values interpolated at the faces can be accu-
face and need not to be calculated again. These known edges mulated directly.
from the previous exiting face are given by the vertices v0 ,
v1 , v2 , and v3 in Figure 18. To determine the exit face, lines Hexahedral Traversal
v2 v2 In [Gar90] it was suggested to decompose each hexahedral
of the curvilinear grid into five tetrahedra as depicted in Fig-
ure 15. This, however, does not only increase memory con-
v3 v3 sumption but diminishes the speed of the cell traversal itself.
(a) (b) The preferable way is therefore to traverse the hexahedral
v0 v1 v0 v1
cells directly.
Figure 18: (a) Naïve approach: All three exiting faces of
For this purpose Marmitt et. al [MS06] use again the prop-
the triangle are tested independently although each line is
erties of the Plücker space and basically apply the same op-
shared by two faces, and (b) Optimized approach: The solid
timizations as in the tetrahedral case. When optimized for
lines tests are given from the previous tetrahedron and the
convex hexahedral faces at most four tests per tetrahedron
dotted line needs only to be computed if the test with the
are necessary. The algorithm is illustrated in Figure 20. In
dashed lines failed to provide an unambiguous result.
this figure the entry face is determined by v0 , v1 , v2 , and v3 .
The opposite face is determined by v4 , v5 , v6 , and v7 . In a
v0 → v3 and v1 → v3 are tested against the ray which al- first step the ray is tested against the edges v4 → v5 resp.
ready provides a final result for one third of all cases on aver- v5 → v7 (bold horizontal lines in Figure 20). Note that each
age. Otherwise an additional test of the ray against v2 → v3 area contains at most three faces of the hexahedron, i.e. there
finally determines the exit face. With these optimizations the are only two edges left to check. These are different for each
number of tests is reduced to 2.66 in average [MS06]. area, e.g. v2 → v6 and v3 → v7 for A0 , v4 → v6 and
v5 → v7 for A1 , and v0 → v4 and v1 → v5 for A2 . Test-
The tetrahedral mesh itself needs to be enriched with con-
ing the second edge is only necessary, if the first test does
nectivity information that requires 16 additional bytes per
not lead to a decision. Again simple sign comparisons are
tetrahedron. Since all edges as well as the traversing ray
sufficient to determine the correct exit face.
are converted into Plücker coordinates on-the-fly, no further
memory is consumed. For the final rendering, the interpo- Unfortunately, fetching new data is not as efficient as in
lated scalar value at the intersection point is needed for vi- the tetrahedral case. Analysis revealed that the costs for this
sualization. As already shown, the computed Plücker values operation is seven times higher compared to the tetrahedral
c The Eurographics Association 2006.
Gerd Marmitt, Heiko Friedrich & Philipp Slusallek / Interactive Volume Rendering with Ray Tracing
A1
Blunt-fin (hex-P) 27.35 1.86 1.35 1.55
A1
Blunt-fin (hex-H) 27.35 2.00 2.16 1.77
c The Eurographics Association 2006.
Gerd Marmitt, Heiko Friedrich & Philipp Slusallek / Interactive Volume Rendering with Ray Tracing
c The Eurographics Association 2006.
Gerd Marmitt, Heiko Friedrich & Philipp Slusallek / Interactive Volume Rendering with Ray Tracing
6. Summary and Conclusions [AW87] A MANATIDES J., W OO A.: A Fast Voxel Traver-
sal Algorithm for Ray Tracing. In Proceedings of Euro-
In this report we presented an overview of ray tracing tech- graphics. 1987, pp. 3–10. 5
niques suitable for volumetric rendering. After briefly re-
[BCM∗ 01] B ENNETT J., C OOK R., M AX N., M AY D.,
capping the main visualization tasks for volume visualiza-
W ILLIAMS P.: Parallelizing a high accuracy hardware-
tion we grouped all major contributions in two categories.
assisted volume renderer for meshes with arbitrary poly-
Object-order algorithms and hybrids project the voxel data
hedra. In PVG ’01: Proceedings of the IEEE 2001 sympo-
onto the image plane and thus follow the basic rasteriza-
sium on parallel and large-data visualization and graph-
tion principle. They can be further classified into cell projec-
ics (2001), pp. 101–106. 4
tion, splatting, and texture mapping. Important alternatives
were summarized as alternative approaches including shear- [BKS97] B UNYK P., K AUFMAN A. E., S ILVA C. T.: Sim-
warp and custom hardware. With their increasing flexibility, ple, fast, and robust ray casting of irregular grids. In
high memory bandwidth, and excellent floating point per- Dagstuhl ’97, Scientific Visualization (1997), pp. 30–36.
formance, graphics boards establish themselves as a serious 4, 14
competitor. [CCF94] C ABRAL B., C AM N., F ORAN J.: Accelerated
Ray tracing itself has several advantages. Volumes, volume rendering and tomographic reconstruction using
whether they are regular, curvilinear or even unstructured, texture mapping hardware. In VVS ’94: Proceedings of the
are just another primitive for the ray tracer and hence 1994 Symposium on Volume Visualization (1994), pp. 91–
can be easily combined even with polygonal surfaces in 98. 6
a simple plug ’n’ play fashion. This was demonstrated by [CRZP04] C HEN W., R EN L., Z WICKER M., P FISTER
Parker [PPL∗ 99], Wald [WFM∗ 05], and Marmitt [MS06]. H.: Hardware-Accelerated Adaptive EWA Volume Splat-
Additionally, shadows, reflections, refractions or translu- ting. In VIS ’04: Proceedings of the conference on Visu-
cency interact with each other without additional effort. alization ’04 (2004), pp. 67–74. 6
c The Eurographics Association 2006.
Gerd Marmitt, Heiko Friedrich & Philipp Slusallek / Interactive Volume Rendering with Ray Tracing
[DPH∗ 03] D E M ARLE D. E., PARKER S., H ARTNER M., [Kni00] K NITTEL G.: The ULTRAVIS System. In Pro-
G RIBBLE C., H ANSEN C.: Distributed Interactive Ray ceedings of the 2000 IEEE symposium on Volume visual-
Tracing for Large Volume Visualization. In Proceedings ization (2000), pp. 71–79. 13, 18
of the IEEE Symposium on Parallel and Large-Data Visu-
[KS97] K NITTEL G., S TRASSER W.: VIZARD - Visual-
alization and Graphics (PVG) (2003), pp. 87–94. 10
ization Accelerator for Realtime Display. In HWWS ’97:
[EKE01] E NGEL K., K RAUS M., E RTL T.: High- Proceedings of the ACM SIGGRAPH/EUROGRAPHICS
quality pre-integrated volume rendering using hardware- workshop on Graphics hardware (1997), pp. 139–146. 6,
accelerated pixel shading. In HWWS ’01: Proceedings 7
of the ACM SIGGRAPH/EUROGRAPHICS workshop on
[KW03] K RÜGER J., W ESTERMANN R.: Acceleration
Graphics hardware (2001), pp. 9–16. 5, 6
Techniques for GPU-based Volume Rendering. In VIS
[Eri97] E RICKSON J.: Pluecker Coordinates. Ray Trac- ’03: Proceedings of the 14th IEEE Visualization 2003
ing News (1997). http://www.acm.org/tog/resources/- (VIS’03) (2003), pp. 287–292. 6
RTNews/html/rtnv10n3.html#art11. 15
[LCN98] L ICHTENBELT B., C RANE R., NAQVI S.: In-
[Frü94] F RÜHAUF T.: Raycasting of nonregularly struc- troduction to Volume Rendering. Person Education, 1998.
tured volume data. In Proceedings of Eurographics 1994 3
(1994), pp. 295–303. 14
[Lev90] L EVOY M.: Efficient Ray Tracing for Volume
[Gar90] G ARRITY M. P.: Raytracing irregular volume Data. ACM Transactions on Graphics 9, 3 (July 1990),
data. In VVS ’90: Proceedings of the 1990 workshop on 245–261. 14
Volume Visualization (1990), pp. 35–40. 5, 14, 15, 16
[LL94] L ACROUTE P., L EVOY M.: Fast volume render-
[GBKG04] G RIMM S., B RUCKNER S., K ANITSAR A., ing using a shear-warp factorization of the viewing trans-
G RÖLLER M. E.: Memory efficient acceleration struc- formation. In SIGGRAPH ’94: Proceedings of the 21st
tures and techniques for cpu-based volume raycasting of annual conference on Computer graphics and interactive
large data. In Proceedings IEEE/SIGGRAPH Symposium techniques (1994), pp. 451–458. 6
on Volume Visualization and Graphics (Oct. 2004), pp. 1–
[LMK03] L I W., M ÜLLER K., K AUFMAN A.: Empty
8. 1, 12
space skipping and occlusion clipping for texture-based
[Hav01] H AVRAN V.: Heuristic Ray Shooting Algorithms. volume rendering. In VIS ’03: Proceedings of the 14th
PhD thesis, Faculty of Electrical Engineering, Czech IEEE Visualization 2003 (VIS’03) (2003), pp. 317–324.
Technical University in Prague, 2001. 8 6
[HJ04] H ANSEN C., J OHNSON C. R.: The Visualization [Luc92] L UCAS B.: A scientific visualization renderer. In
Handbook. 2004. 3, 4 VIS ’92: Proceedings of the 3rd conference on Visualiza-
[HK98] H ONG L., K AUFMAN A.: Accelerated ray- tion ’92 (1992), pp. 227–234. 4
casting for curvilinear volumes. In VIS ’98: Proceedings [LYTM06] L AUTERBACH C., YOON S.-E., T UFT D.,
of the conference on Visualization ’98 (1998), pp. 247– M ANOCHA D.: Interactive Ray Tracing of Dynamic
253. 4, 14 Scenes using BVHs. Technical Report, University of
[HK99] H ONG L., K AUFMAN A. E.: Fast projection- North Carolina at Chapel Hill (2006). 11
based ray-casting algorithm for rendering curvilinear vol- [Ma95] M A K.-L.: Parallel volume ray-casting for
umes. IEEE Transactions on Visualization and Computer unstructured-grid data on distributed-memory architec-
Graphics 5, 4 (1999), 322–332. 4, 14 tures. In PRS ’95: Proceedings of the IEEE symposium
[HQK05] H ONG W., Q IU F., K AUFMAN A.: GPU-based on Parallel rendering (1995), pp. 23–30. 14
Object-Order Ray-Casting for Large Datasets. In VG ’05: [MC97] M A K.-L., C ROCKETT T. W.: A scalable paral-
Volume Graphics 2005 (2005), pp. 177–186. 5 lel cell-projection volume rendering algorithm for three-
[Int05] I NTERNATIONAL B USINESS MA- dimensional unstructured data. In PRS ’97: Proceed-
CHINES : The Cell Project at IBM Research. ings of the IEEE symposium on Parallel rendering (1997),
http://www.research.ibm.com/cell/, 2005. 18 pp. 95–104. 4
[KK99] K REEGER K., K AUFMAN A.: Hybrid volume and [MC98] M ÜLLER K., C RAWFIS R.: Eliminating popping
polygon rendering with cube hardware. In HWWS ’99: artifacts in sheet buffer-based splatting. In VIS ’98: Pro-
Proceedings of the ACM SIGGRAPH/EUROGRAPHICS ceedings of the conference on Visualization ’98 (1998),
workshop on Graphics hardware (1999), pp. 15–24. 6, 7 pp. 239–245. 6
[KN91] KOYAMADA K., N ISHIO T.: Volume visualiza- [ME05] M ORA B., E BERT D. S.: Low-complexity maxi-
tion of 3D finite element method results. IBM J. Res. Dev. mum intensity projection. ACM Transactions on Graphics
35, 1-2 (1991), 12–25. 14 24, 4 (2005), 1392–1416. 13
c The Eurographics Association 2006.
Gerd Marmitt, Heiko Friedrich & Philipp Slusallek / Interactive Volume Rendering with Ray Tracing
[MFK∗ 04] M ARMITT G., F RIEDRICH H., K LEER A., [PH04] P HARR M., H UMPHREYS G.: Physically Based
WALD I., S LUSALLEK P.: Fast and Accurate Ray- Rendering : From Theory to Implementation. Morgan
Voxel Intersection Techniques for Iso-Surface Ray Trac- Kaufman, 2004. 1
ing. In Proceedings of Vision, Modeling, and Visualiza- [PHK∗ 99] P FISTER H., H ARDENBERGH J., K NITTEL J.,
tion (VMV) (2004), pp. 429–435. 7, 11, 18 L AUER H., S EILER L.: The VolumePro real-time ray-
[MFS05] M ARMITT G., F RIEDRICH H., S LUSALLEK P.: casting system. Computer Graphics 33, Annual Confer-
Recent Advancements in Ray-Tracing based Volume Ren- ence Series (1999), 251–260. 6, 7
dering Techniques. In Vision, Modeling, and Visualization
[PPL∗ 99] PARKER S., PARKER M., L IVNAT Y., S LOAN
(VMV) 2005 (November 2005), pp. 131–138. 1
P.-P., H ANSEN C., S HIRLEY P.: Interactive Ray Tracing
[MHB∗ 00] M EISSNER M., H UANG J., BARTZ D., for Volume Visualization. IEEE Transactions on Com-
M UELLER K., C RAWFIS R.: A practical evaluation of puter Graphics and Visualization 5, 3 (1999), 238–250.
popular volume rendering algorithms. In VVS ’00: Pro- 10, 13, 14, 15, 17, 18, 19
ceedings of the 2000 IEEE symposium on Volume visual-
ization (2000), pp. 81–90. 1 [PSL∗ 98] PARKER S., S HIRLEY P., L IVNAT Y., H ANSEN
C., S LOAN P.-P.: Interactive Ray Tracing for Isosur-
[MJC02] M ORA B., J ESSEL J. P., C AUBET R.: A new face Rendering. In IEEE Visualization (October 1998),
object-order ray-casting algorithm. In VIS ’02: Pro- pp. 233–238. 7, 10
ceedings of the conference on Visualization ’02 (2002),
pp. 203–210. 5, 13 [PSL∗ 99] PARKER S., S HIRLEY P., L IVNAT Y., H ANSEN
C., S LOAN P.-P.: Interactive Ray Tracing. In Proceedings
[MKW∗ 02] M EISSNER M., K ANUS U., W ETEKAM G.,
of Interactive 3D Graphics (1999), pp. 119–126. 10
H IRCHE J., E HLERT A., S TRASSER W., D OGGETT M.,
F ORTHMANN P., P ROKSA R.: VIZARD II: A Reconfig- [PT03] P LATIS N., T HEOHARIS T.: Fast Ray-Tetrahedron
urable Interactive Volume Rendering System. In Euro- Intersection Using Plücker Coordinates. Journal of
graphics/ACM SIGGRAPH Workshop on Graphics Hard- graphics tools 8, 4 (2003), 37–48. 16
ware (2002), pp. 137–146. 7 [RGW∗ 03] RÖTTGER S., G UTHE S., W EISKOPF D.,
[MMMY97] M OLLER T., M ACHIRAJU R., M UELLER E RTL T., S TRASSER W.: Smart hardware-accelerated
K., YAGEL R.: A comparison of normal estimation volume rendering. In VISSYM ’03: Proceedings of the
schemes. In IEEE Visualization (1997), pp. 19–26. 12 symposium on Data visualisation 2003 (2003), pp. 231–
[MS05] M ARMITT G., S LUSALLEK P.: Fast Ray Traver- 238. 6
sal of Unstructured Volume Data using Plucker Tests. [RKE00] RÖTTGER S., K RAUS M., E RTL T.: Hardware-
Tech. rep., Saarland University, 2005. Available at accelerated volume and isosurface rendering based on
http://graphics.cs.uni-sb.de/Publications. 17 cell-projection. In VIS ’00: Proceedings of the conference
[MS06] M ARMITT G., S LUSALLEK P.: Fast Ray Traver- on Visualization ’00 (2000), pp. 109–116. 5, 6
sal of Tetrahedral and Hexahedral Meshes for Direct Vol- [RPH04] R AMSEY S., P OTTER K., H ANSEN C.: Ray Bi-
ume Rendering. In Proceedings of Eurographics/IEEE- linear Patch Intersections. Journal of Graphics Tools 9, 3
VGTC Symposium on Visualization (EuroVIS) ’06 (2006), (2004), 41–47. 17
pp. 235–242. 14, 15, 16, 17, 19
[RSH05] R ESHETOV A., S OUPIKOV A., H URLEY J.:
[MSE06] M ÜLLER C., S TRENGERT M., E RTL T.: Opti- Multi-Level Ray Tracing Algorithm. ACM Transaction
mized Volume Raycasting for Graphics-Hardware-based of Graphics 24, 3 (2005), 1176–1185. (Proceedings of
Cluster Systems. In Eurographics Symposium on Parallel ACM SIGGRAPH). 1, 11
Graphics and Visualization (EGPGV06) (2006), pp. 59–
66. 18 [RZNS04] R ÖSSL C., Z EILFELDER F., N ÜRNBERGER
G., S EIDEL H.-P.: Reconstruction of Volume Data with
[MY96] M ÜLLER K., YAGEL R.: Fast perspective vol- Quadratic Super Splines. IEEE Transactions on Visual-
ume rendering with splatting by utilizing a ray-driven ap- ization and Computer Graphics 10, 4 (2004), 397–409.
proach. In VIS ’96: Proceedings of the 7th conference on 8, 11
Visualization ’96 (1996), pp. 65–72. 5
[Sch90] S CHWARZE J.: Cubic and Quartic Roots. In
[NMHW02] N EUBAUER A., M ROZ L., H AUSER H.,
Graphics Gems, Glassner A., (Ed.). Academic Press,
W EGENKITTL R.: Cell-based first-hit ray casting. In Pro-
1990, pp. 404–407. 7
ceedings of the Symposium on Data Visualisation 2002
(2002), pp. 77–86. 5, 7 [SK04] S ARANG L., K AUFMAN A.: Light weight space
[PBMH02] P URCELL T. J., B UCK I., M ARK W. R., leaping using ray coherence. In VIS ’04: Proceedings
H ANRAHAN P.: Ray Tracing on Programmable Graphics of the conference on Visualization ’04 (Washington, DC,
Hardware. ACM Transactions on Graphics (Proceedings USA, 2004), IEEE Computer Society, pp. 19–26. 12
of ACM SIGGRAPH) 21, 3 (2002), 703–712. 19 [SKB∗ ] S TRENGERT M., K LEIN T., B OTCHEN R.,
c The Eurographics Association 2006.
Gerd Marmitt, Heiko Friedrich & Philipp Slusallek / Interactive Volume Rendering with Ray Tracing
S TEGMAEIER S., C HEN M., E RTL T.: Spectral Vol- annual conference on Computer graphics and interactive
ume Rendering using GPU-based Raycasting. The Visual techniques (1990), pp. 367–376. 5
Computer (to appear). 19 [WFM∗ 05] WALD I., F RIEDRICH H., M ARMITT G.,
[SM00] S CHUMANN H., M UELLER W.: Visualisierung - S LUSALLEK P., S EIDEL H.-P.: Faster Isosurface Ray
Grundlagen und allgemeine Methoden. Springer, 2000. Tracing using Implicit KD-Trees. IEEE Transactions on
3, 4 Visualization and Computer Graphics 11, 5 (2005), 562–
573. 5, 8, 9, 18, 19
[SM02] S WEENEY J., M UELLER K.: Shear-warp deluxe:
the shear-warp algorithm revisited. In VISSYM ’02: Pro- [WGTG96] W ILHELMS J., G ELDER A. V., TARANTINO
ceedings of the symposium on Data Visualisation 2002 P., G IBBS J.: Hierarchical and parallelizable direct vol-
(2002), pp. 95–104. 6 ume rendering for irregular and multiple grids. In VIS
’96: Proceedings of the 7th conference on Visualization
[SSKE05] S TEGMAIER S., S TRENGERT M., K LEIN T.,
’96 (1996), pp. 57–64. 4
E RTL T.: A Simple and Flexible Volume Rendering
Framework for Graphics-Hardware–based Raycasting. In [WIK∗ 06] WALD I., I ZE T., K ENSLER A., K NOLL A.,
Proceedings of the International Workshop on Volume PARKER S. G.: Ray Tracing Animated Scenes using Co-
Graphics ’05 (2005), pp. 187–195. 18 herent Grid Traversal. ACM SIGGRAPH 2006 (2006). 1,
11
[ST90] S HIRLEY P., T UCHMAN A.: A polygonal approxi-
mation to direct scalar volume rendering. ACM Computer [WKB∗ 02] WALD I., KOLLIG T., B ENTHIN C., K ELLER
Graphics (Proceedings San Diego Workshop on Volume A., LEK P. S.: Interactive Global Illumination using Fast
Visualization 1990 24, 5 (1990), 63–70. 4, 5 Ray Tracing. In Rendering Techniques 2002 (Pisa, Italy,
June 2002), Debevec P., Gibson S., (Eds.), Eurographics
[The01] T HEISEL H.: CAGD and Scientific Visualization, Association, Eurographics, pp. 15–24. (Proceedings of
Habilitation thesis, 2001. 2 the 13th Eurographics Workshop on Rendering). 9, 18
[Wal04] WALD I.: Realtime Ray Tracing and Interac- [WKME03] W EILER M., K RAUS M., M ERZ M., E RTL
tive Global Illumination. PhD thesis, Computer Graphics T.: Hardware-based ray casting for tetrahedral meshes.
Group, Saarland University, 2004. 10, 17 In VIS ’03: Proceedings of the 14th IEEE Visualization
[WBLS03] W U Y., B HATIA V., L AUER H., S EILER L.: 2003 (VIS’03) (2003), pp. 333–340. 5
Shear-image order ray casting volume rendering. In SI3D [WMKE04] W EILER M., M ALLON P. N., K RAUS M.,
’03: Proceedings of the 2003 symposium on Interactive E RTL T.: Texture-encoded tetrahedral strips. In VV ’04:
3D graphics (2003), pp. 152–162. 7 Proceedings of the 2004 IEEE Symposium on Volume Vi-
[WBS02] WALD I., B ENTHIN C., S LUSALLEK P.: sualization and Graphics (VV’04) (2004), pp. 71–78. 5
OpenRT - A Flexible and Scalable Rendering Engine [WMS98] W ILLIAMS P. L., M AX N. L., S TEIN C. M.:
for Interactive 3D Graphics. Tech. rep., Saarland A High Accuracy Volume Renderer for Unstructured
University, 2002. Available at http://graphics.cs.uni- Data. IEEE Transactions on Visualization and Computer
sb.de/Publications. 1 Graphics 4, 1 (1998), 37–54. 4
[WBS06] WALD I., B OULOS S., S HIRLEY P.: Ray Trac- [WSBW01] WALD I., S LUSALLEK P., B ENTHIN C.,
ing Deformable Scenes using Dynamic Bounding Volume WAGNER M.: Interactive Rendering with Coherent Ray
Hierarchies (revised version). Technical Report, SCI Insti- Tracing. Computer Graphics Forum 20, 3 (2001), 153–
tute, University of Utah, No UUSCI-2006-023 (condition- 164. (Proceedings of Eurographics). 9
ally accepted at ACM Transactions on Graphics) (2006).
[WSS05] W OOP S., S CHMITTLER J., S LUSALLEK P.:
1, 11
RPU: A Programmable Ray Processing Unit for Realtime
[WCA∗ 90] W ILHELMS J., C HALLINGER J., A LPER N., Ray Tracing. Proceedings of ACM SIGGRAPH (2005).
R AMAMOORTHY S., VAZIRI A.: Direct volume render- 19
ing of curvilinear volumes. In Computer Graphics (San
[WV92] W ILHELMS J., VAN G ELDER A.: Octrees
Diego Workshop on Volume Visualization) (1990), pp. 41–
for faster isosurface generation. ACM Transactions on
47. 2, 14
Graphics 11, 3 (July 1992), 201–227. 5, 9, 11
[WDS04] WALD I., D IETRICH A., S LUSALLEK P.: An
[ZPvBG01] Z WICKER M., P FISTER H., VAN BAAR J.,
Interactive Out-of-Core Rendering Framework for Visu-
G ROSS M.: EWA volume splatting. In VIS ’01: Pro-
alizing Massively Complex Models. In Rendering Tech-
ceedings of the conference on Visualization ’01 (2001),
niques 2004, Proceedings of the Eurographics Symposium
pp. 29–36. 6
on Rendering (2004), pp. 81–92. 11
[Wes90] W ESTOVER L.: Footprint evaluation for volume
rendering. In SIGGRAPH ’90: Proceedings of the 17th
c The Eurographics Association 2006.