In my bachelor’s thesis “Fast voxel-based hydraulic erosion”, submitted on the 05/15/2016, I describe how the efficiently simulate water erosion on a 3D terrain, represented as voxels, using particles.
The terrain is represented using voxels, arranged in a two-layer grid hierarchy to utilize the sparsity.
The water simulation is done with the Smoothed Particle Hydrodynamics technique.
For the rendering I draw the particles either as point sprites, sorted by their depth, or with the Screen-Space Fluids algorithm as a smooth surface.
All computations are done entirely on the GPU using OpenCL to enable interactive framerates.
Simulating realistic looking hydraulic erosion can greatly increase the realism of terrains in computer graphics. Other areas of application include the fast evaluation of possible erosion scenarios which is needed in extreme weather conditions. The methods presented in this thesis are based on the SPH-method for simulating fluids using particles in 3D. The proposed extensions include the precise collision with a complex terrain represented as a sparsely stored level set. Furthermore, each particle carries its own amount of sediment which is exchanged with the terrain to simulate dissolving and deposition and with other particles to simulate sediment diffusion. By using particles and a level set instead of heightmaps, caves, overhangs and other complicated structures can be generated. The presented methods are fast enough to simulate and render up to 100,000 particles on a terrain with a resolution of 1024*1024*512.
Because I’m using internal code of the chair of computer graphics of the TU Munich, I can’t publish the source code (yet).