From heightmap to planet
PyPlatec supplies the tectonic plate simulation used to generate terrain heightmaps. The renderer applies heightmap displacement and lighting, with configurable ocean levels, an orbiting camera and selectable skybox backgrounds.
Tiled hydraulic erosion
An experimental erosion component models rainfall, water flow, sediment transport and deposition. Tiling, configurable process counts and disk swapping aim to reduce memory pressure. The erosion implementation builds on dandrino’s terrain-erosion-3-ways, with work focused on memory handling, scaling and tiling.
Current boundaries
The documented erosion implementation works best on smaller heightmaps and moderate scale factors; large inputs and high scale factors still have memory and stability limitations. Climate, biomes, river networks, vegetation and atmospheric scattering are development directions, rather than completed features.
Explore the implementation
git clone https://github.com/SAED2906/WorldMachina.gitCode example
# From the repository root, after installing dependencies:
python src/main.py
# Example erosion run, from src/simulation/erosion/hydro/:
python tiled_erosion.py heightmap.png --scale 2.0