![Page 1: Fast Hydraulic Erosion Simulation and Visualization on GPU](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813e31550346895da81512/html5/thumbnails/1.jpg)
Fast Hydraulic Erosion Simulation and Visualization on GPU
Fast Hydraulic Erosion Simulation and Visualization on GPU
Xing Mei1 Philippe Decaudin2 Bao-Gang Hu1
1. CASIA (China) 2. INRIA (France)
Pacific Graphics’07
![Page 2: Fast Hydraulic Erosion Simulation and Visualization on GPU](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813e31550346895da81512/html5/thumbnails/2.jpg)
2
Outline
■ Introduction■ Hydraulic Erosion■ Existing Methods
■ Hydraulic Erosion on GPU■ Method Overview■ Simulation Steps■ Multi-pass Implementation on GPU
■ Results
■ Conclusion & Future Work
![Page 3: Fast Hydraulic Erosion Simulation and Visualization on GPU](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813e31550346895da81512/html5/thumbnails/3.jpg)
3
Introduction- Hydraulic Erosion
■ ProcessWater flow takes away (dissolves) the soil
and relocates (deposits) it somewhere else
■ EffectChanges terrain appearance
Creates interesting geo-morphological structures
Gullies Eroded landscape on Maui Island
![Page 4: Fast Hydraulic Erosion Simulation and Visualization on GPU](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813e31550346895da81512/html5/thumbnails/4.jpg)
4
■ Enhance realism
■ A useful complement to fluid simulation
Topographical changes affect the water flow
[Chiba’98]
Introduction- Erosion Simulation (Why?)
[Beneš’06]
![Page 5: Fast Hydraulic Erosion Simulation and Visualization on GPU](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813e31550346895da81512/html5/thumbnails/5.jpg)
5
■ Procedural [Kelly’88, Prusinkiewicz’93] Ad hoc rules with fractal terrain generation Fast and efficient; No water flow involved
Limited control on the erosion results
■ Physically Based Simulation
[Musgrave’89, Chiba’98, Neidhold’05…] Simulation on already-existing terrains Controllable Erosion Process, but computationally expensive
4 fps on 256x256 grids [Neidhold’05]
5 fps on 300x300 grids [Beneš’07]
Limited for interactive applications
Introduction- Existing Methods
![Page 6: Fast Hydraulic Erosion Simulation and Visualization on GPU](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813e31550346895da81512/html5/thumbnails/6.jpg)
6
■ A novel hydraulic erosion simulation method
Effectiveproduces the important features in the erosion process Gullies, water catchments, deposited sediment…
EfficientWell mapped to GPU
Interactive frame rates for large size terrains
Erosion on GPU- Motivation
![Page 7: Fast Hydraulic Erosion Simulation and Visualization on GPU](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813e31550346895da81512/html5/thumbnails/7.jpg)
7
■ 5 steps in one cycle of the simulation
Terrain
water
Rainfall & River Source Water Movement
Erosion
Deposition
Sediment Transportation
DepositedSediment
Catchment
Evaporation
(1) Water Increment(2) Water Movement (flow simulation)
(3) Erosion or Deposition(4) Sediment Transportation
(5) Evaporation
Erosion on GPU- Method Overview
![Page 8: Fast Hydraulic Erosion Simulation and Visualization on GPU](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813e31550346895da81512/html5/thumbnails/8.jpg)
Water Height -
8
■ Layers of 2D arrays
■ Each step should update the cell data in parallel
No scattering operations on the data array involved
cell
Erosion on GPU- Data Structure
Arrays
Terrain Height -
d
b
Suspended Sediment s Outflow flux
Velocity
),,,( BTRL fffff
),( yx VVV
cell
![Page 9: Fast Hydraulic Erosion Simulation and Visualization on GPU](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813e31550346895da81512/html5/thumbnails/9.jpg)
9
■ Two kinds of sources
River sources – fixed location, radius, intensity
Raindrops – random location, radius, intensity
Erosion on GPU(1) Water Increment
tKd r Water increment
![Page 10: Fast Hydraulic Erosion Simulation and Visualization on GPU](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813e31550346895da81512/html5/thumbnails/10.jpg)
10
■ Possible Models? GPU friendly
Grid-based methods > Lagrangian methods Efficient
Shallow water model > 3D Navier-Stokes Equation Suitable for Erosion-Deposition
Velocity field is necessary
■ Previous models on shallow water framework Simplified Newtonian physics model [Neidhold’05]
hard to parallelize Kass&Miller’s implicit method [Beneš’07]
many iterations over the grid, not efficient for large size terrain
■ Our choiceThe Virtual Pipe model [O’Brien’95]
Erosion on GPU(2) Water Movement (Flow Simulation)
![Page 11: Fast Hydraulic Erosion Simulation and Visualization on GPU](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813e31550346895da81512/html5/thumbnails/11.jpg)
11
■ Virtual Pipe Model■ Water is exchanged between cells through virtual pipes
■ How much water exchanged through each pipe?
Flux – accelerated by the hydrostatic pressure difference
P0
P0
Cell
Erosion on GPU(2) Water Movement (Flow Simulation)
LF
BF
RF
TF
P1 P2
Two-Step Process1.Update Flux2.Update Water Height
A simple explicit method
![Page 12: Fast Hydraulic Erosion Simulation and Visualization on GPU](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813e31550346895da81512/html5/thumbnails/12.jpg)
12
■ Two “problems” about the original model
Erosion on GPU(2) Water Movement (Flow Simulation)
Cell LF
BF
RF
TF 1. Staggered gridwater height (d) – cell centerflux (F) – cell border
2. Non-negative water updateA scaling back processscattering operations are involved
Both are not GPU-friendly
![Page 13: Fast Hydraulic Erosion Simulation and Visualization on GPU](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813e31550346895da81512/html5/thumbnails/13.jpg)
13
■ Adaptation to the original model ■ the outflow flux for each cell
■ Flux (F) and outflow flux (f)
■ Water height update (d)
- send away the outflow flux
- collect inflow flux from neighbours
Outflow flux
Cell(x,y)
Inflow flux
Erosion on GPU(2) Water Movement (Flow Simulation)
Lf
Bf
Rf
Tf0,,,
),,,(
BTRL
BTRL
ffff
fffff
)( outin fftd
),1(),( yxfyxfF RLL
LF
![Page 14: Fast Hydraulic Erosion Simulation and Visualization on GPU](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813e31550346895da81512/html5/thumbnails/14.jpg)
14
■ Non-negative water update
Erosion on GPU(2) Water Movement (Flow Simulation)
Outflow flux
Cell
Inflow flux
Lf
Bf
Rf
Tf
dftK out
)( outin fftd
0 outin ftftddd
omitted, strengthened condition inft
0 outftd
a scaling factor K limiting the outflow flux
![Page 15: Fast Hydraulic Erosion Simulation and Visualization on GPU](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813e31550346895da81512/html5/thumbnails/15.jpg)
15
■ 3-step process Update outflow flux Update water height Update (horizontal) velocity field
From Flux (f) to Velocity (V)
■ No-Slip Boundaries
set outflow flux to 0 for boundary cells
■ Limitation for time step ]1,0[,),max(
y
V
x
Vt
yx
Erosion on GPU(2) Water Movement (Flow Simulation)
fdAtV xx Cell
X
Boundarycell
0Lf
![Page 16: Fast Hydraulic Erosion Simulation and Visualization on GPU](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813e31550346895da81512/html5/thumbnails/16.jpg)
16
Sediment transport capacity
Current suspended sediment
How to compute for each cell ?
We adapt a classic model from soil science [Julien’85]
CS
S
CS CS ErosionDeposition
C
Erosion on GPU(3) Erosion & Deposition
)sin( VKC c
![Page 17: Fast Hydraulic Erosion Simulation and Visualization on GPU](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813e31550346895da81512/html5/thumbnails/17.jpg)
17
■ Suspended sediment (S) is advected by the velocity field
■ Many GPU-friendly schemes to solve the equation Stable semi-Lagrangian method [Stam’99]
Upwind differencing scheme
More mass-conservative methods such as BFECC [Kim’05, Selle’07]
0
SVt
S
),(),( tvytuxSyxS ttt
Erosion on GPU(4) Sediment Transportation
(advection dominated, no diffusion considered)
![Page 18: Fast Hydraulic Erosion Simulation and Visualization on GPU](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813e31550346895da81512/html5/thumbnails/18.jpg)
18
■ General computation framework on GPU [Harris’03, Owens’07]To update a 2D array in parallel:
■ Multi-pass process
Initialization
3
2
1
),(
),,,(
,,
TVVV
Tfffff
Tsdb
yx
BTRL
(1) Water Increment
(2) Flow Simulation
(3) Erosion-Deposition
(4) Sediment transport
(5) Evaporation
Outflow
Water Height
Velocity
Simulation
Visualization
VS: Vertex TexturePS: Phong Lighting
Erosion on GPU- Multi-pass Implementation on GPU
pack datainto textures
draw a screen-aligned quad
update texture in pixel shader
![Page 19: Fast Hydraulic Erosion Simulation and Visualization on GPU](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813e31550346895da81512/html5/thumbnails/19.jpg)
19
Results
■ Platform: Pentium IV 2.4GHz + 2Gb RAM + Nvidia 8800 GTX
512x512 grids for video demos
water
suspended sediment in the flow
deposited sediment
“PG scene” in the rainVideo
![Page 20: Fast Hydraulic Erosion Simulation and Visualization on GPU](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813e31550346895da81512/html5/thumbnails/20.jpg)
20
Results
■ Deposited sediment in a basin
The bottom of the basin is flattened by the deposited sediment
Video
![Page 21: Fast Hydraulic Erosion Simulation and Visualization on GPU](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813e31550346895da81512/html5/thumbnails/21.jpg)
21
Results
■ River flow in a drained channel
Part of the original river bank get eroded
Video
![Page 22: Fast Hydraulic Erosion Simulation and Visualization on GPU](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813e31550346895da81512/html5/thumbnails/22.jpg)
22
Results
■ Mountain scene eroded by rainfall
Video
![Page 23: Fast Hydraulic Erosion Simulation and Visualization on GPU](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813e31550346895da81512/html5/thumbnails/23.jpg)
23
Results
■ Final example:
the combination of the rainfall and the river source
Video
![Page 24: Fast Hydraulic Erosion Simulation and Visualization on GPU](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813e31550346895da81512/html5/thumbnails/24.jpg)
24
Results
■ Performance results for the final example at different grid size
403
186
59
16 40
50
100
150
200
250
300
350
400
450
256x256 512x512 1024x1024 2048x2048 4096x4096
Cycles per second
Cycles per second
Interactive frame rates for terrain up to 1024x1024!
1 cycle = 1 simulation + 1 visualization
![Page 25: Fast Hydraulic Erosion Simulation and Visualization on GPU](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813e31550346895da81512/html5/thumbnails/25.jpg)
25
Results
■ ST, VT, CT at different grid size
2.48 5.3816.95
62.5
248.47
1.28 2.9710.31
40
155.89
1.29 2.38 6.6522.88
91.22
0
50
100
150
200
250
300
256x256 512x512 1024x1024 2048x2048 4096x4096
ST(ms)
VT(ms)
CT(ms)
ST : Simulation TimeVT : Visualization TimeCT : Cycle Time = ST + VT
1. ST, VT, CT scales well with grid size ~ linear with # of cells
2. VT takes more time for large size terrain
3. Further Improvements
![Page 26: Fast Hydraulic Erosion Simulation and Visualization on GPU](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813e31550346895da81512/html5/thumbnails/26.jpg)
26
Conclusion & Future Work■ A novel simulation method for hydraulic erosion
■ Effective – proper model selection and adaptation for each step
Produces dynamic erosion process and realistic results■ Efficient - well designed for complete GPU implementation
Interactive frame rates for large size terrain
■ Future work■ Further improvements on models:
Fluid solver - Limitation for time step
Erosion Model - Little erosion on flat terrain■ Extension to non-height-field scene
(general 3D objects, structures with caves)■ More erosion process – thermal weathering, wind erosion…
![Page 27: Fast Hydraulic Erosion Simulation and Visualization on GPU](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813e31550346895da81512/html5/thumbnails/27.jpg)
27
Thanks!
More info on
http://evasion.imag.fr/Publications/2007/MDH07/