Hardware-Accelerated High-Quality Reconstruction of Volumetric Data on PC Graphics Hardware Markus Hadwiger Thomas Theußl Helwig Hauser Eduard Gr ¨ oller VRVis Research Center Institute of Computer Graphics and Algorithms Vienna, Austria Vienna University of Technology, Austria Abstract We describe a method for exploiting commodity 3D graphics hard- ware in order to achieve hardware-accelerated high-quality filtering with arbitrary filter kernels. Our approach is based on reordering the evaluation of the filter convolution sum to accommodate the way the hardware works. We exploit multiple rendering passes to- gether with the capability of current graphics hardware to index into several textures at the same time (multi-texturing). The method we present is applicable in one, two, and three di- mensions. The cases we are most interested in up to now are two- dimensional reconstruction of object-aligned slices through volu- metric data, and three-dimensional reconstruction of arbitrarily ori- ented slices. As a fundamental building block, the basic algorithm can be used in order to directly render an entire volume by blend- ing a stack of slices reconstructed with high quality on top of each other. We have used bicubic and tricubic B-splines and Catmull-Rom splines, as well as windowed sinc filters, as reconstruction kernels. However, it is important to emphasize that our approach has no fundamental restrictions with regard to the filters that can be used. Keywords: filtering, high-order reconstruction, slice rendering, volume rendering, 3D hardware acceleration 1 Introduction A fundamental problem in computer graphics is how to reconstruct images and volumes from sampled data. The process of deter- mining the original continuous data–or at least a sufficiently ac- curate approximation–from discrete input data is usually called re- construction. In volume visualization, the input data is commonly given at evenly spaced discrete locations in three-space. In theory, the original volumetric data can be reconstructed entirely, provided certain conditions are honored (cf. sampling theorem [18]). In re- ality, of course, filtering is always a trade-off between performance and reconstruction quality. This is especially true for hardware im- plementations. Reconstruction in graphics hardware is usually done by using simple linear interpolation. In the most common case of two-dimensional texture mapping hardware, bilinear filtering is employed in order to reconstruct texture images. Analogously, 3D graphics accelerators that are able to use three-dimensional textures filter them using trilinear interpolation. Linear interpolation is fast, but introduces significant reconstruc- tion artifacts. On the other hand, a lot of research in the last few years has been devoted to improving reconstruction by using high- order reconstruction filters [8, 12, 13, 14, 21]. Among the inves- tigated filters are piecewise cubic functions, as well as windowed ideal reconstruction functions (windowed sinc filters). However, these functions were usually deemed to be too slow in order to be Hadwiger,Hauser @VRVis.at, http://www.VRVis.at/vis/ theussl,groeller @cg.tuwien.ac.at, http://www.cg.tuwien.ac.at/home/ used in practice. Using such high-order reconstruction filters in software indeed easily leads to exploding rendering times. In this paper, we will show how to exploit consumer 3D graph- ics hardware for accelerating high-order reconstruction of volumet- ric data. The presented approach works in one, two, and three di- mensions, respectively. The cases most interesting to us up to now are the reconstruction of images or slices in two dimensions, and reconstruction of oblique slices through volumetric data. An inter- esting application of such slices is to use them for direct volume rendering. Standard texture mapping hardware can be exploited for volume rendering by blending a stack of texture-mapped slices on top of each other [3]. These slices can be either viewport-aligned, which requires 3D texture mapping hardware [9, 23], or object- aligned, where 2D texture mapping hardware suffices [19]. Our high-quality filtering approach can be used to considerably improve reconstruction quality of the individual slices in both of these cases, thus increasing the quality of the entire rendered volume. The method we present works by evaluating the filter convolu- tion sum in a different order than the one naturally used when filter- ing in software. Instead of gathering the contribution of all neigh- boring input samples in order to calculate a single output sample at a time, we distribute the contribution of a single input sample to all neighboring output samples. These contributions are added up over multiple rendering passes in hardware, eventually yielding the same result as the standard evaluation of the convolution sum. In order to improve performance, each pass employs multiple textures at the same time, for multiplying input samples by corresponding values in the filter kernel. The structure of the paper is as follows. After discussing related work in section 2, we describe our method for hardware-accelerated high-order filtering in section 3. We discuss the basic idea and prin- ciple in sections 3.1 and 3.2, before applying it to reconstruction of images and axis-aligned slices of volumetric data in section 3.3, and arbitrarily oriented slices in section 3.4. In the latter case, al- though the target is two-dimensional, reconstruction has to be done in three dimensions. Three-dimensional reconstruction for three- dimensional images is described in section 3.5, where we describe how our approach can be applied to volume rendering using a stack of slices. Section 4 describes some issues of current commodity graphics hardware, especially with respect to what our method re- quires or can make use of. Section 5 presents results. Section 6 summarizes what we have presented, tries to draw some general conclusions, and wraps up with future work. 2 Related work The work relevant to ours is twofold. First, we are using filter theory and results on what types of filters are good in which situations. Second, since we propose several methods and applications making heavy use of hardware acceleration, work that has been done in these areas is also very relevant. There is a vast amount of literature on filter analysis and de- sign. Keys [7] derived a family of cardinal splines, and showed, us-