SimpleWindErosion
                                
                                 SimpleWindErosion copied to clipboard
                                
                                    SimpleWindErosion copied to clipboard
                            
                            
                            
                        Procedural Wind Erosion / Abrasion / Suspension / Cascading / Aeolian Process Simulation
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.

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.
Simulated dune formation with sedimentation and cascading.
 Simulated dune formation with additional obstacles and abrasion.
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.