Efficient High-Quality Rendering of SPH Data
Particle-based simulation techniques like Smoothed Particle Hydrodynamics (SPH) have gained much attention due to their ability to avoid a fixed discretization of the simulation domain. Applications vary from interactive simulations of fluids in virtual environments to cosmologigcal HPC simulations with billions of particles. While fast algorithms exist that approximate the surface of incompressible fluids, high quality volume rendering of gaseous phenomena often remains computationally expensive.
Previous methods for the visualization of large-scale SPH data often suffer from limited quality due to a fixed discretization of the simulation domain, or high rendering times because of complex integration along the view rays and the sheer amount of data. In this research project, we overcome many of these limitations by developing data structures with support for adaptive level-of-detail selections and rendering techniques that combine the advantages of resampling to regular grids and resampling along view rays.
Our visualization techniques build on a multi-resolution representation of large particle sets in combination with a data-specific compression scheme. The multi-resolution representation is stored in an adaptive octree data structure. Thus, accessing the data that is stored in this structure exhibits O(log2(N)) complexity (with N being the grid size corresponding to the maximum refinement level). During resampling the octree hierarchy is used to reduce the memory and compuation costs, while at the same time allows us to reduce aliasing artifacts. Each octree level represents a level of detail representation of the particle set suitable for a given sampling rate.
2D splatting techniques draw particles as points or discs directly to the framebuffer. The blending can be a order independent accumulation or a order dependent alpha blending, in which case particles have to be sorted for their screen-space depth before rendering. Both techniques can quickly generate qualitative renderings that show the basic structures and quantities in the data sets.
Order dependent volume rendering
For order dependent volume rendering, the particle quantities must be accumulated in 3D space before they get picked up along view rays. Hence transfer functions can be applied directly on the volumetric field quantities, which reveals fine grained details originated from interactions of particles in spatial neighborhood. Order dependent accumulation along the view rays produces occlusion effects, which aid the users spatial perception of the final image.
Fast resampling of particle quantities to uniform grids can be achieved by exploiting the rasterization units of modern GPUs. However, the use of uniform grids often implies resampling of the whole simulation domain, which in practice often leads to insufficient resampling rates. In order to overcome this limitation, we propose resampling to a perspective grid, aligned to the view frustum. This approach allows us to resample only areas visible on the final image, with a sampling pattern which directly maps sampling points to screen pixels. In combination with our multiresolution hierarchy, a optimal level of detail represenation of the volumetric field for the current view can be built with minimal computational effort.
A perspective grid can be visualized with standard volume rendering techniques like for example volume raycasting. Because the voxels are already aligned to the view rays, additional optimizations are possible. The combination of order dependent volume raycasting with iso surface raycasting leads to high quality results and can be performed efficiently in parallel.