A Survey of Volumetric Illumination Techniques for Interactive Volume Rendering <s> Algorithm Classification <s> Several existing volume rendering algorithms operate by factoring the viewing transformation into a 3D shear parallel to the data slices, a projection to form an intermediate but distorted image, and a 2D warp to form an undistorted final image. We extend this class of algorithms in three ways. First, we describe a new object-order rendering algorithm based on the factorization that is significantly faster than published algorithms with minimal loss of image quality. Shear-warp factorizations have the property that rows of voxels in the volume are aligned with rows of pixels in the intermediate image. We use this fact to construct a scanline-based algorithm that traverses the volume and the intermediate image in synchrony, taking advantage of the spatial coherence present in both. We use spatial data structures based on run-length encoding for both the volume and the intermediate image. Our implementation running on an SGI Indigo workstation renders a 256 3 voxel medical data set in one second. Our second extension is a shear-warp factorization for perspective viewing transformations, and we show how our rendering algorithm can support this extension. Third, we introduce a data structure for encoding spatial coherence in unclassified volumes (i.e. scalar fields with no precomputed opacity). When combined with our shear-warp rendering algorithm this data structure allows us to classify and render a 256 3 voxel volume in three seconds. The method extends to support mixed volumes and geometry and is parallelizable. <s> BIB001 </s> A Survey of Volumetric Illumination Techniques for Interactive Volume Rendering <s> Algorithm Classification <s> This tutorial survey paper reviews several different models for light interaction with volume densities of absorbing, glowing, reflecting, and/or scattering material. They are, in order of increasing realism, absorption only, emission only, emission and absorption combined, single scattering of external illumination without shadows, single scattering with shadows, and multiple scattering. For each model the paper provides the physical assumptions, describes the applications for which it is appropriate, derives the differential or integral equations for light transport, presents calculation methods for solving them, and shows output images for a data set representing a cloud. Special attention is given to calculation methods for the multiple scattering model. > <s> BIB002 </s> A Survey of Volumetric Illumination Techniques for Interactive Volume Rendering <s> Algorithm Classification <s> Texture based volume rendering is a technique to efficiently visualize volumetric data using texture mapping hardware. We present an algorithm that extends this approach to render shadows for the volume. The algorithm takes advantage of fast frame buffer operations which modern graphics hardware offers, but does not depend on any special purpose hardware. The visual impression of the final image is significantly improved by bringing more structure and three dimensional information into the often foggyish appearance of texture based volume renderings. Although the algorithm does not perform lighting calculations, the resulting image has a shaded appearance, which is a further visual cue to spatial understanding of the data and lets the images appear more realistic. As calculating the shadows is independent of the visualization process it can be applied to any form of volume visualization, though volume rendering based on two- or three-dimensional texture mapping hardware makes the most sense. Compared to unshadowed texture based volume rendering, performance decreases by less than 50%, which is still sufficient to guarantee interactive manipulation of the volume data. In the special case where only the camera is moving with the light position fixed to the scene there is no performance decrease at all, because recalculation has only to be done if the position of the light source with respect to the volume changes. <s> BIB003 </s> A Survey of Volumetric Illumination Techniques for Interactive Volume Rendering <s> Algorithm Classification <s> Splatting is a volume rendering algorithm that combines efficient volume projection with a sparse data representation: Only voxels that have values inside the iso-range need to be considered, and these voxels can be projected via efficient rasterization schemes. In splatting, each projected voxel is represented as a radially symmetric interpolation kernel, equivalent to a fuzzy ball. Projecting such a basis function leaves a fuzzy impression, called a footprint or splat, on the screen. Splatting traditionally classifies and shades the voxels prior to projection, and thus each voxel footprint is weighted by the assigned voxel color and opacity. Projecting these fuzzy color balls provides a uniform screen image for homogeneous object regions, but leads to a blurry appearance of object edges. The latter is clearly undesirable, especially when the view is zoomed on the object. In this work, we manipulate the rendering pipeline of splatting by performing the classification and shading process after the voxels have been projected onto the screen. In this way, volume contributions outside the iso-range never affect the image. Since shading requires gradients, we not only splat the density volume, using regular splats, but we also project the gradient volume, using gradient splats. However, alternative to gradient splats, we can also compute the gradients on the projection plane, using central differencing. This latter scheme cuts the number of footprint rasterization by a factor of four, since only the voxel densities have to be projected. Our new method renders objects with crisp edges and well-preserved surface detail. Added overhead is the calculation of the screen gradients and the per-pixel shading. Both of these operations, however, may be performed using fast techniques employing lookup tables. <s> BIB004 </s> A Survey of Volumetric Illumination Techniques for Interactive Volume Rendering <s> Algorithm Classification <s> Nowadays, direct volume rendering via 3D textures has positioned itself as an efficient tool for the display and visual analysis of volumetric scalar fields. It is commonly accepted, that for reasonably sized data sets appropriate quality at interactive rates can be achieved by means of this technique. However, despite these benefits one important issue has received little attention throughout the ongoing discussion of texture based volume rendering: the integration of acceleration techniques to reduce per-fragment operations. In this paper, we address the integration of early ray termination and empty-space skipping into texture based volume rendering on graphical processing units (GPU). Therefore, we describe volume ray-casting on programmable graphics hardware as an alternative to object-order approaches. We exploit the early z-test to terminate fragment processing once sufficient opacity has been accumulated, and to skip empty space along the rays of sight. We demonstrate performance gains up to a factor of 3 for typical renditions of volumetric data sets on the ATI 9700 graphics card. <s> BIB005
To be able to give a comprehensive overview of current interactive advanced volumetric illumination techniques, we will introduce a classification within this section, which allows us to group and compare the covered approaches. The classification has been developed with the goal to provide application designers with decision support when choosing advanced volumetric illumination techniques for their needs. Thus, we will first cover the most relevant algorithm properties that need to be considered when making such a decision. The most limiting property of advanced volumetric illumination algorithms is the dependence on an underlying rendering paradigm. In the past, different paradigms allowing interactive volume rendering have been proposed. These paradigms range from a shear-warp transformation BIB001 , over splatting BIB004 , and texture slicing  to volume ray-casting BIB005 . Besides their different technical realizations, the visual quality of the rendered image also varies with respect to the used rendering paradigm [SHC * 09]. Since efficiency is of great importance in the area of interactive volumetric illumination, many approaches have been developed which allow a performance gain by being closely bounded to a specific rendering paradigm (e. g., [KPHE02, ZC02, ZC03, SPH * 09, vPBV10, SYR11]). Especially when integrating volumetric illumination into existing visualization systems, the underlying rendering paradigm of the existing approaches might be limiting when deciding which algorithm to be used. Therefore, we will discuss this dependency when presenting the covered algorithms in Section 5. Another property of major importance is, which illumination effects are supported by a certain algorithm. This is on the one hand specified based on the supported lighting and on the other hand on the light interaction and propagation inside the volume. The supported illumination can vary with respect to the number and types of the light sources. Supported light source types range from classical point and directional light sources to area and textured light sources. Since several algorithms focus on ambient visibility computation, we consider also an ambient light source which is omnidirectional and homogeneous. As some algorithms are bound to certain rendering paradigms, they may also be subject to constraints regarding the light source position,e. g., BIB003 SPH * 09,  . Finally, the number of supported light sources varies, where either one or many light sources are supported. The discussed algorithms also vary with respect to the light interaction and propagation inside the volume. While all algorithms support single scattering through either local or global light propagation, though at different frequencies producing soft to hard shadows, multiple scattering is not supported by all approaches. We there- fore differentiate between local and global scattering as well as single and multiple scattering. We will discuss these capabilities for each covered technique and relate the supported illumination effects to Max's optical models BIB002 . As in many other fields of computer graphics, applying advanced illumination techniques in volume rendering involves a tradeoff between rendering performance and memory consumption. The two most extreme cases on this scale are entire precomputation of the illumination information, and recomputation on the fly for each frame. We will compare the techniques covered within this article with respect to this tradeoff by describing the performance impact of these techniques as well as the required memory consumption. Since different application scenarios vary with respect to the degree of interactivity, we will review their performance capabilities with respect to rendering and illumination update. Some techniques trade illumination update times for frame rendering times and thus allow higher frame rates, as long as no illumination critical parameter has been changed. We discuss rendering times as well as illumination update times, whereby we differentiate whether they are triggered by lighting or transfer function updates. Recomputations performed when the camera changes are considered as rendering time. The memory footprint of the covered techniques is also an important factor, since it is often limited by the available graphics memory. Some techniques precompute an illumination volume, e. g., [RDRS10b, SMP11], while others store much less or even no illumination data, e. g., [KPHE02, DEP05, SYR11]. Finally, it is important if a volumetric illumination approach can be combined with clipping planes and geometry. While clipping is frequently used in many standard volume rendering applications, the integration of polygonal geometry data is for instance important in flow visualization, when integrating pathlines in a volumetric dataset. To enable easier comparison of the existing techniques and the capabilities described above, we have decided to classify them into five groups based on the algorithmic concepts exploited to achieve the resulting illumination effects. The thus obtained groups are, first local region based ( ) techniques which consider only the local neighborhood around a voxel, second slice based ( ) techniques which propagate illumination by iteratively slicing through the volume, third, light space based ( ) techniques which project illumination as seen from the light source, fourth lattice based ( ) techniques which compute the illumination directly on the volumetric data grid without applying sampling, and fifth basis function based ( ) techniques which use a basis function representation of the illumination information. While this classification into five groups is solely performed based on the concepts used to compute the illumination itself, and not for the image generation, it might in some cases go hand in hand, e. g., when considering the slice based techniques which are also bound to the slice based rendering paradigm. A comparison of the visual output of one representative technique of each of the five groups is shown in Figure 6 . As it can be seen, when changing the illumination model, the visual results might change drastically, even though most of the presented techniques are based on Max's formulation of a volumetric illumination model BIB002 . The most prominent visual differences are the intensities of shadows as well as their frequency, which is visible based on the blurriness of the shadow borders. Apart from the used illumination model, all other rendering parameters are the same in the shown images. Besides the five main groups supporting fully interactive volume rendering, we will also briefly cover ray-tracing based ( ) techniques, and those only limited to isosurface illumination. While the introduced groups allow a sufficient classification for most available techniques, it should also be mentioned, that some approaches could be classified into more than one group. For instance, the shadow volume propagation approach [RDRS10b], which we have classified as lattice-based, could also be classified as light space based, since the illumination propagation is performed based on the current light source position.