Hydraulic Erosion Simulation on the GPU for 3D terrains

University essay from KTH/Skolan för elektroteknik och datavetenskap (EECS)

Abstract: Erosion is the action of various natural processes, such as water flow, wind and gravity, that displaces material from one area to another. Creating physically-based models of these complex phenomena has been a major challenge in creating realistic terrain in video games in a fast way, without having a 3D artist model the terrain by hand. There has also been an increasing interest in representing terrain in a more complex way using 3D data, to support more interesting terrains which can contain overhangs, arches and caves. With this new terrain representation there is also a need for new models for terrain generation and modification, to handle the difference in data representation. Combining the work of previous hydraulic erosion models (erosion caused by running water), this thesis proposes a new approach to hydraulic erosion on 3D-SDF data. An efficient shallow-water model combined with making an approximation of the 3D data into multiple “layers” are the main components of this model. The number of layers relates to how the 3D model can represent 3D features such as overhangs and arches. This also enables the model to be mapped to the GPU, for efficient simulation speeds. A performance comparison was carried out on the 3D erosion model, both comparing the difference on the CPU and GPU, as well as the performance compared to it’s 2D counterpart. The terrains were rendered using OpenGL, and the simulation on the GPU was implemented using CUDA. The 3D model took about 2.8 times longer than it’s 2D counterpart for a terrain of size 1024x1024 with 2 layers, with degrading results as the layers needed to represent the 3D terrain increase. The simulation was around 10-15 times faster on the GPU compared to the single core CPU version, also with degrading results as the amount of layers increase. This thesis thus provides a simple and efficient hydraulic erosion model that can be used on 3D-SDF data, which supports overhangs and arches. 

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)