i
i
i
i
i
i
i
i
28.2. 3D Scalar Fields 719
nd volume entry and exit points a and b
L = c
b
Δs = distance(a, b)
p = b
for i =1to N do
p = p Δs(b a)
L = L +(1 d(p)aΔsL + d(p )a Δsc(p))
The step size Δs will determine the quality of the integration. To reduce the
number of variables, we can use a new density function g(p)=d(p)a.
In some applications direct volume rendering is used to render something sim-
ilar to surfaces. In these cases the transfer function on density is “on” or “off and
the gradient of the number density is used to get a surface normal for shading.
This can produce images of pseudosurfaces that are less sensitive to noise than
traditional isosurfacing.
Another way to do volume rendering is maximum-intensity projection. Here,
we set each pixel to the maximum density value encountered along a ray. This
turns the ray integration into a search along the ray which is more efcient. Fig-
ure 28.12 shows an image generated using maximum-intensity projection.
Frequently Asked Questions
What is the best transfer function for direct volume rendering?
The answer depends highly on the application and the characteristics of the data.
Some empirical tests have been run and can be found in (Pster et al., 2001). Var-
ious optical models used in direct volume rendering are described in (Max, 1995).
What do I do to visualize vector or tensor data?
Vector data is often visualized using streamlines, arrows, and line-integral convo-
lution (LIC). Such techniques are surveyed in (Interrante & Grosch, 1997). Tensor
data is more problematic. Even simple diffusion tensor data is hard to visualize
effectively because you just run out of display dimensions for mapping of data
dimensions. See (Kindlmann et al., 2000).
How do I interactively view a volume by changing isovalues?
One way is to use ray tracing on a parallel machine. The other is to use polygonal
isosurfacing with a preprocess that helps search for cells containing an isosurface.
i
i
i
i
i
i
i
i
720 28. Spatial-Field Visualization
That search can be implemented using the data structure in (Livnat et al., 1996).
My volume data is unstructured tetrahedra. How do I do isosurfacing or
direct volume rendering?
Isosurfacing can still be done in a polygonal fashion, but there are fewer cases to
preprocess. Ray tracing can also be used for isosurfacing or direct volume ren-
dering, but the traversal algorithm must progress through the unstructured data
either using neighbor pointers (Garrity, 1990) or by adding cells to an efciency
structure (Parker, Parker, et al., 1999).
What is “splatting” for direct volume rendering?
Splatting refers to projecting semitransparent voxels onto the screen using some
sort of painters’ algorithm (Laur & Hanrahan, 1991).
Exercises
1. If we have a tetrahedral data element with densities at each of the four
vertices, how many “cases” are there for polygonal isosurfaces?
2. Suppose we have n
3
data elements in a volume. If the densities in the
volume are “well behaved,” approximately how many cells will contain an
isosurface for a particular isovalue?
3. Should we add shadowing to direct volume rendering? Why or why not?
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.128.33.243