- press keyboard
c
to do terrain editions with brush, editions include : add/subtract for water and hight map for now, you can also adjust size of brush - press keyboard
r
to place permanent water source. (note : 1 . pressr
again to remove permanent water source, 2 . after it's placed you can see a red circle marking the location, 3 . the size and strength of permanent water is equal to the brush size and strength the moment permanent water source is placed) - press button
Start/Resume
to the right top corner to start or resume the erosion sim - press button
Pause
to pause the simulation - press button
Reset
to reset simulation and start with a new randomly generated base terrain - use
WaterTrabsparancy
slider to control alpha of water - use
EvaporationDegree
slider to control anomunt of evaporation you want each simulation step - use
Kc
slider to control Kc (erosion capacity constant) - use
Ks
slider to control Ks (erosion dissolvating constant) - use
Kd
slider to control Kc (erosion deposition constant) - use the dropdown to check the debug views
- press right mouse button to rotate camera, press left mouse button to translate camera, use middle mouse to scale...
- Algorithm update/fix : added basic(semi-lagrangian) advection for velocity field generation, you can change magnitude of it under "Erosion Parameters" -> "VelocityAdvectionMag", this means that momentum is possible for water, we can have larger/better scale meandering/delta effects
- Algorithm update/fix : now erosion detail will be more accurate as I've choosen to disregard small water body's contribution to sediment advection, it used to create noises in sediment result because when water volume goes below numerical limitation of the sim, velocity will be contributing the same to advection regardless of water size...
- Added option to change simulation resolution
- permanent water source is added, you can pressed
r
to place it, see controls for details - added heatmeap for velocity magnitude in debug view, mapping color goes from blue to green then to red as the velocity size increases
- added MacCormack advection scheme for sediment advection, resulting in less numerical diffusion (referencing : ShaderX7 Advanced Rendering Techniques - starting page 207), you can find and toggle it on/off under
erosionParameters
in gui
-
flow map and results after adding velocity advection, this will make sure water have momentum transfered from previous frame, making it more persistent and easier to form ravine/valley
-
alluvial fan (or at least a similar one) formed at the mountain exit
see detail.md for implementation details
- Image(height map) I/O
- muti-layered(rock/sand/etc) erosion
- PBR
- adaptive simulation utilizing quadtree(or just tiles) for sim optimization
- Depth upsampling/downsampling for volumetric rendering optimization
- Better GUI & Visulization
- Terrain features like instaced tree placements
- other postprocessing effects (ray marched cloud for example, since ray marched Mie scattering is done, cloud should be fairly simple to work based on it)
- Biomes
- Eventual goal : Erosion based games, "FROM DUST" would be a good example
- mass conservation of sediment is not guranteed
- Fast Hydraulic Erosion Simulation and Visualization on GPU
- Interactive Terrain Modeling Using Hydraulic Erosion
- Volumetric Lights for Unity 5
- ShaderX7 Advanced Rendering Techniques : starting page 207