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.
Use the makefile to compile the program.
make all
Erosion System:
- gcc
- glm
- libnoise
Renderer (TinyEngine):
- SDL2 (Core, Image, TTF, Mixer)
- OpenGL3
- GLEW
- Boost
- ImGUI (included already as header files)
./winderosion [SEED]
If no seed is specified, it will take a random one.
- 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
Simulated dune formation with sedimentation and cascading.
Simulated dune formation with additional obstacles and abrasion.
wind.h
- wind particle movement, sedimentation process
world.h
- world data storage, generation, rendering
MIT License
See my blog for a more detailed copyright notice.