This is a C++ project done for the "Modeling for Video Games" subject during my masters degree in "Image, Development and 3D Technologies" at the University "Claude Bernard Lyon 1". The goal was to implement procedural terrain generation methods.
The application generates a terrain using a Perlin Noise, on which we apply thermal and hydraulic erosion models. The terrain is then populated with fictive vegetal species depending on their needs and the local terrain parameters such as humidity and light exposure.
Three people worked on this project: BONIS Thomas, CREVITS François and myself, Hugo RAMBURE. My main contribution to this project is the modeling of the thermal erosion of terrains. A layer-based erosion model was implemented during the final iteration to show that the terrain topography is dependent on the underground geological structures.
The report and defense PDF files are available in the results/ folder.
These images show real terrain photos that we compare to the result of the layer-based thermal erosion model on a randomly generated initial terrain.
Picture taken in the Swiss Alps, [Geosciences Montpellier, J. Malavieille, insu.cnrs.fr]
Picture taken in the Jura Mountains, [Laboratoire de Geosciences de Lyon / ENS Lyon, Pierre Thomas, planet-terre.ens-lyon.fr]
The application is Linux only but runs on the Linux Bash Shell for Windows. The project is built using the following commands:
mkdir build
cd build
cmake ..
makeThe documentation uses the Doxygen format and can be compiled using the command:
doxygen docTerraGenThe documentation file ./doc/html/index.html can be opened with your favorite browser
Three applications are built:
./build/testruns all unitary tests./build/genTerrainruns integration tests./build/genTerrainGraphiqueruns the graphics interface



