Fast Hydraulic Erosion Simulation and Visualization on GPU - PowerPoint PPT Presentation

About This Presentation
Title:

Fast Hydraulic Erosion Simulation and Visualization on GPU

Description:

Fast Hydraulic Erosion Simulation and Visualization on GPU Xing Mei1 Philippe Decaudin2 Bao-Gang Hu1 1. CASIA (China) 2. INRIA (France) Pacific Graphics 07 – PowerPoint PPT presentation

Number of Views:130
Avg rating:3.0/5.0
Slides: 28
Provided by: Moi145
Category:

less

Transcript and Presenter's Notes

Title: Fast Hydraulic Erosion Simulation and Visualization on GPU


1
Fast Hydraulic Erosion Simulation and
Visualization on GPU
  • Xing Mei1 Philippe Decaudin2 Bao-Gang Hu1
  • 1. CASIA (China) 2. INRIA (France)

Pacific Graphics07
2
Outline
  • Introduction
  • Hydraulic Erosion
  • Existing Methods
  • Hydraulic Erosion on GPU
  • Method Overview
  • Simulation Steps
  • Multi-pass Implementation on GPU
  • Results
  • Conclusion Future Work

3
Introduction- Hydraulic Erosion
  • Process
  • Water flow takes away (dissolves) the soil
  • and relocates (deposits) it somewhere else
  • Effect
  • Changes terrain appearance
  • Creates interesting geo-morphological structures

Eroded landscape on Maui Island
Gullies
4
Introduction- Erosion Simulation (Why?)
  • Enhance realism
  • A useful complement to fluid simulation
  • Topographical changes affect the water flow

Chiba98
Beneš06
5
Introduction- Existing Methods
  • Procedural Kelly88, Prusinkiewicz93
  • Ad hoc rules with fractal terrain generation
  • Fast and efficient No water flow involved
  • Limited control on the erosion results
  • Physically Based Simulation
  • Musgrave89, Chiba98, Neidhold05
  • Simulation on already-existing terrains
  • Controllable Erosion Process, but computationally
    expensive
  • 4 fps on 256x256 grids Neidhold05
  • 5 fps on 300x300 grids Beneš07

Limited for interactive applications
6
Erosion on GPU- Motivation
  • A novel hydraulic erosion simulation method
  • Effective
  • produces the important features in the erosion
    process Gullies, water catchments, deposited
    sediment
  • Efficient
  • Well mapped to GPU
  • Interactive frame rates for large size terrains

7
Erosion on GPU- Method Overview
  • 5 steps in one cycle of the simulation

(1) Water Increment
(2) Water Movement (flow simulation)
water
(3) Erosion or Deposition
(4) Sediment Transportation
Rainfall River Source
(5) Evaporation
Water Movement
Erosion
Evaporation
Terrain
Sediment Transportation
Catchment
Deposition
Deposited Sediment
8
Erosion on GPU- Data Structure
  • Layers of 2D arrays
  • Each step should update the cell data in parallel
  • No scattering operations on the data array
    involved

Suspended Sediment
Outflow flux Velocity
Water Height -
Terrain Height -
Arrays
cell
9
Erosion on GPU(1) Water Increment
  • Two kinds of sources
  • River sources fixed location, radius,
    intensity
  • Raindrops random location, radius, intensity

Water increment
10
Erosion on GPU(2) Water Movement (Flow
Simulation)
  • Possible Models?
  • GPU friendly
  • Grid-based methods gt Lagrangian methods
  • Efficient
  • Shallow water model gt 3D Navier-Stokes
    Equation
  • Suitable for Erosion-Deposition
  • Velocity field is necessary
  • Previous models on shallow water framework
  • Simplified Newtonian physics model Neidhold05
  • hard to parallelize
  • KassMillers implicit method Beneš07
  • many iterations over the grid, not efficient
    for large size terrain
  • Our choice
  • The Virtual Pipe model OBrien95

11
Erosion on GPU(2) Water Movement (Flow
Simulation)
  • 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

  • Two-Step Process
  • Update Flux
  • Update Water Height
  • A simple explicit method

P0
P0
P1
P2
12
Erosion on GPU(2) Water Movement (Flow
Simulation)
  • Two problems about the original model
  • Staggered grid
  • water height (d) cell center
  • flux (F) cell border
  • 2. Non-negative water update
  • A scaling back process
  • scattering operations are involved
  • Both are not GPU-friendly

13
Erosion on GPU(2) Water Movement (Flow
Simulation)
  • 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
Inflow flux
Cell(x,y)
14
Erosion on GPU(2) Water Movement (Flow
Simulation)
  • Non-negative water update

omitted, strengthened condition
a scaling factor K limiting the outflow flux
15
Erosion on GPU(2) Water Movement (Flow
Simulation)
  • 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

16
Erosion on GPU(3) Erosion Deposition
  • Sediment transport capacity
  • Current suspended sediment
  • How to compute for each cell ?
  • We adapt a classic model from soil science
    Julien85

17
Erosion on GPU(4) Sediment Transportation
  • Suspended sediment (S) is advected by the
    velocity field
  • Many GPU-friendly schemes to solve the equation
  • Stable semi-Lagrangian method Stam99
  • Upwind differencing scheme
  • More mass-conservative methods such as BFECC
    Kim05, Selle07

(advection dominated, no diffusion considered)
18
Erosion on GPU- Multi-pass Implementation on GPU
  • General computation framework on GPU Harris03,
    Owens07
  • To update a 2D array in parallel
  • Multi-pass process

pack datainto textures
draw a screen-aligned quad
update texture in pixel shader
Simulation
(1) Water Increment
Outflow
(2) Flow Simulation
Water Height
Initialization
Visualization
Velocity
(3) Erosion-Deposition
VS Vertex Texture PS Phong Lighting
(4) Sediment transport
(5) Evaporation
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
Video
PG scene in the rain
20
Results
  • Deposited sediment in a basin
  • The bottom of the basin is flattened by the
    deposited sediment

Video
21
Results
  • River flow in a drained channel
  • Part of the original river bank get eroded

Video
22
Results
  • Mountain scene eroded by rainfall

Video
23
Results
  • Final example
  • the combination of the rainfall and the river
    source

Video
24
Results
  • Performance results for the final example at
    different grid size

1 cycle 1 simulation 1 visualization

Interactive frame rates for terrain up to
1024x1024!
25
Results
  • ST, VT, CT at different grid size


ST Simulation Time VT Visualization Time CT
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
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

27
  • Thanks!
  • More info on
  • http//evasion.imag.fr/Publications/2007/MDH07/

28
Erosion on GPU- Erosion Deposition
  • For each cell
  • sediment transport capacity
  • related to two factors
  • - local tilt angle
  • - velocity
  • Simplified formula
  • Problem?
  • Little erosion on flat terrain! (
    approaches zero)
  • Possible solution

29
Erosion on GPU- Data update
  • Summary
  • the data update in five steps
  • (1) Water Increment water height
  • (2) Water Movement water height, outflow flux,
    velocity
  • (3) Erosion Deposition terrain height,
    suspended sediment
  • (4) Sediment Transportation suspended sediment
  • (5) Evaporation water height

30
Results
  • Performance results for the final example at
    different grid size

ST Simulation Time in each cycle VT
Visualization Time in each cycle CT Cycle Time
ST VT
  • Interactive frame rates for terrain up to
    1024x1024
  • ST,VT, CT scale well with the grid size
  • VT takes most part of the time for large size
    terrain
  • Improvements?
Write a Comment
User Comments (0)
About PowerShow.com