Skip to content

Procedural Wind Erosion / Abrasion / Suspension / Cascading / Aeolian Process Simulation

Notifications You must be signed in to change notification settings

weigert/SimpleWindErosion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SimpleWindErosion

C++ implementation of a simple particle-based wind erosion system for terrain generation. This is an adaptation on related particle-based erosion systems, e.g. hydraulic erosion, designed to capture sediment transport, abrasion and cascading.

Rendered using my homebrew TinyEngine.

Link to a blog post about this.

Two Dune Simulations

Compiling

Use the makefile to compile the program.

make all

Dependencies

Erosion System:
- gcc
- glm
- libnoise

Renderer (TinyEngine):
- SDL2 (Core, Image, TTF, Mixer)
- OpenGL3
- GLEW
- Boost
- ImGUI (included already as header files)

Usage

./winderosion [SEED]

If no seed is specified, it will take a random one.

Controls

- Zoom and Rotate Camera: Scroll
- Toggle Pause: P (WARNING: PAUSED BY DEFAULT!!)
- Change Camera Vertical Angle: UP / DOWN
- Toggle Hydrology Map View: ESC
- Move the Camera Anchor: WASD / SPACE / C

Screenshots

Simulated dune formation with sedimentation and cascading.

Pyramid Simulated dune formation with additional obstacles and abrasion.

Reading

wind.h - wind particle movement, sedimentation process

world.h - world data storage, generation, rendering

License

MIT License

See my blog for a more detailed copyright notice.

About

Procedural Wind Erosion / Abrasion / Suspension / Cascading / Aeolian Process Simulation

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published