Adaptive Sampling and Rendering of Fluids on the GPU

In this paper, we propose a novel GPU-friendly algorithm for the Smoothed Particle Hydrodynamics (SPH) simulation for weakly compressible fluids. The major goal of our algorithm is to implement a GPU-based SPH simulation that can simulate and render a large number of particles at interactive speed. Additionally, our algorithm exhibits the following three features. Firstly, our algorithm supports adaptive sampling of the fluids. Particles can be split into several sub-particles in geometrically complex regions to provide a more accurate simulation. At the same time, nearby particles deep inside the fluids are merged to a single particle to reduce the number of particles. Secondly, the fluids are visualized by directly computing the intersection between ray and an isosurface defined by the surface particles. A dynamic particle grouping algorithm and equation solver are employed to quickly find the ray-isosurface intersection. Thirdly, based on the observation that the SPH simulation is a naturally parallel algorithm, the whole SPH simulation, including the adaptive sampling of the fluids as well as surface particle rendering, is executed on the GPU to fully utilize the computational power and parallelism of modern graphics hardware. Our experimental data shows that we can simulate about 50K adaptively sampled particles, or up to 120K particles in the fixed sampling case at a rate of approximately 20 time steps per second.

[1]  James F. Blinn,et al.  A Generalization of Algebraic Surface Drawing , 1982, TOGS.

[2]  Mark Carlson,et al.  Rigid fluid: animating the interplay between rigid bodies and fluid , 2004, SIGGRAPH 2004.

[3]  Mathieu Desbrun,et al.  Smoothed particles: a new paradigm for animating highly deformable bodies , 1996 .

[4]  William E. Lorensen,et al.  Marching cubes: A high resolution 3D surface construction algorithm , 1987, SIGGRAPH.

[5]  J. Monaghan Smoothed particle hydrodynamics , 2005 .

[6]  Gino van den Bergen,et al.  Point-Based Visualization of Metaballs on a GPU , 2007 .

[7]  James F. O'Brien,et al.  Fluid animation with dynamic meshes , 2006, SIGGRAPH 2006.

[8]  Leonidas J. Guibas,et al.  Adaptively sampled particle fluids , 2007, ACM Trans. Graph..

[9]  Gavin S. P. Miller,et al.  Particle-Based Fluid Simulation on the GPU , 2006, International Conference on Computational Science.

[10]  Matthias Müller,et al.  Eurographics/ Acm Siggraph Symposium on Computer Animation (2007) Screen Space Meshes , 2022 .

[11]  Renato Pajarola,et al.  Deferred blending: Image composition for single-pass point rendering , 2007, Comput. Graph..

[12]  Matthias Teschner,et al.  Eurographics/ Acm Siggraph Symposium on Computer Animation (2007) Weakly Compressible Sph for Free Surface Flows , 2022 .

[13]  J. Owen,et al.  Adaptive Smoothed Particle Hydrodynamics: Methodology. II. , 1995, astro-ph/9512078.

[14]  Hans-Peter Seidel,et al.  GPU marching cubes on shader model 3.0 and 4.0 , 2007 .

[15]  William E. Lorensen,et al.  Marching cubes: a high resolution 3D surface construction algorithm , 1996 .

[16]  Takahiro Harada,et al.  Acceleration of Smoothed Particle Hydrodynamics using GPUs , 2007 .

[17]  James F. O'Brien,et al.  Fluid animation with dynamic meshes , 2006, ACM Trans. Graph..

[18]  Markus H. Gross,et al.  Particle-based fluid simulation for interactive applications , 2003, SCA '03.

[19]  E. Guendelman,et al.  Efficient simulation of large bodies of water by coupling two and three dimensional techniques , 2006, SIGGRAPH 2006.

[20]  Markus Gross,et al.  Point-Based Graphics , 2007 .

[21]  Kunihiro Chihara,et al.  Particle-Based Fluid Simulation on GPU , 2003 .