Volume Rendering

There are several volume rendering techniques. In Figures 1.27 and 1.28, two different methods are shown. For both methods, the data must be represented as a rectilinear grid (see section 1.2.1) and the data range is partitioned into two linear regions. The first region begins at the data minimum value and ends at a user-specified value (break point) somewhere between the minimum and maximum. The second region starts at the break point and continues to the data maximum. The opacity and color at each end of these regions is specified. This provides the parameters for mapping the data to colors and associated opacity.

The first method uses a ray tracing (a.k.a. ray casting or front-to-back) technique. Using ray tracing, the rectilinear grid is considered behind the projection plane. A ray is projected from each point in the projection plane through the volume. The ray accumulates the opacity and color of each cell it passes through.

image\ch11fig27.jpg

Figure 0.26 Ray Traced Volume Rendering

The other volume rendering technique is often referred to a Back-to-Front (BTF). This technique is supported in many OpenGL graphics cards. The hardware acceleration can make the rendering using BTF over 100 times faster than ray tracing. With back-to-front, the projection plane is behind the grid and the grid is represented as a series of slices. The slice direction through the volumetric grid is chosen to keep the slices as orthogonal as possible to the viewing direction. Each slice of the volume is projected on the projection plane, from the farthest plane to the nearest plane. The slices are colored and made transparent based on the properties described above.

image\ch11fig28.jpg

Figure 0.27 Back-to-Front Volume Rendering

 

Ray Tracing

Ray tracing is a very computationally intensive form of rendering. It is not uncommon that rendering individual images at modest resolution (640 by 480 pixels) may take 30 minutes or more. What ray tracing lacks in speed it makes up for in fidelity and detail. Ray tracing can display details like shadows and reflections (such an entire scene reflected in a shiny spherical object). Ray tracing is often used to produce photo-realistic scenes for architectural and landscape renderings. However, another consequence of photo-realism is that a substantial amount of information such as surface textures, reflectivity, specular reflection coefficients, etc., must be supplied for all objects in the view. Because of the complexity and very slow speed, ray tracing is not commonly used for environmental visualization.

© 1994-2018 ctech.com