Procedural Generation of Landscapes with Water Bodies Using Artificial Drainage Basins

This thesis is about developing and implementing a system for procedural generation of 3D landscapes with a special focus on realistic water bodies. The basic idea is to first create the water bodies, i.e., river networks, lakes, etc., and then afterwards the eventual terrain. This is achieved using artificial drainage basins and a pipeline approach implemented using Unity3D.


Most procedural terrain generation systems create only the terrain itself and neglect natural water bodies. In the cases they actually are considered, they are usually only added afterwards, which tends to lead to an unrealistic integration into the landscape. Furthermore, finding a good balance between user control and automation is always challening with procedural terrain generation.

The goal of this thesis was to focus on generating vast 3D landscapes with natual-looking water bodies. To follow the natural processes more closely, we generate the water bodies first and then grow the terrain (height) bases on them. An initial rough terrain including distincs regions is first layed out by the user to provide more control over the basic layout. Our pipeline approach with dynamic visualization, that we implemented with Unity3D, provides a quick and agile workflow.

Our pipeline starts with defining the initial landscape layout. This is done by user-controlled splines that mark the borders of the landmass(es). The borders then get refined with our multi-iteration Voronoi-based refinement algorithm. In the second step of our pipeline, different regions can be distributed around the landscape, e.g., mountains or deserts. In the third step, we compute the water bodies, including lakes and distinct river deltas. This is done by computing artifical drainage basins. Concretely, we compute a spanning forrest of flow directions over the terrain and then route the rivers from sources to outlets. In the last step, we grow the terrain, starting at the water bodies.


The complexity of our approach is O(n) with n being the number of grid cells. Our evaluation shows that even with the highest tested resolution (2048^2), the whole pipeline is computed in under 25 seconds, which is very quick. Parallelization most certainly would speed-up the computation even further.

The qualitative evaluation of the generated landscapes shows that our approach can produce a wide variety of landscapes and that they look quiet plausible with a natural integration of water bodies. A dedicated comparision with the real world (using DEMs) reinforces these capabilities.


Full version of the master thesis

Here is a movie that shows the developed system in action:


This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. To view a copy of this license, visit
If you would like to use the software commercially, please get in touch with us (zach at cs.uni-bremen dot de) to obtain the assets under a different license (a.k.a. multi-licensing).
If you use any of the assets or software from this web page to produce a publication, you must give credit and put a reference in your publication.