Comparison of image space subdivision algorithms for parallel volume rendering
In many scientific applications, results are presented as unstructured volumetric data sets. Direct Volume Rendering (DVR) is a powerful way of visualizing these volumetric data sets. However, it involves intensive computations. In addition, most of the volumetric data sets also require huge memories. Hence, DVR is a good candidate for parallelization on distributed memory multicomputers. Also most of the engineering simulations are done on multicomputers. Therefore, visualization of these results on the same architectures where simulations are done avoids the overhead of transporting large amount of data. In order to visualize unstructured volumetric data sets, the underlying algorithms should resolve the point location and the view sort problems of the 3D grid points. In this thesis, these problems are solved by using the well-known Scanline Z-Buffer algorithm. Three image space subdivision algorithms, namely horizontal, rectangular, and recursive subdivisions, are utilized to distribute the computations evenly among the processors in the rendering phase. The main parallel algorithm uses Raycasting approach of DVR to visualize the data sets, which is also an image space method. Therefore, the divisions are made in order to obtain a set of sub-images. Static task decomposition is used where each processor is assigned to a single sub-image. The load balance among the processors is achieved by defining the overall work load with in a sub-image by using the milestone operations done in the Scanline Z-Buffer algorithm. The algorithms are developed in a way that they can handle any kind of polygonal, volumetric, and etc. data set where the underlying architecture is also kept flexible in many aspects for the sake of generality and portability. The experimental performance evaluation of the horizontal, rectangular, and recursive subdivision algorithms on an IBM-SP2 system are presented and discussed in a comparative way.