/ 2018 - 2019 / Procedural City Modelling
Group project

ROLE: PROGRAMMER | COURSE WEBSITE


2IMV10 Visual Computing Project is a stream elective that I followed at Eindhoven University of Technology. In this course we practiced how to define, design, create, present and describe an essentially non-trivial interactive visual application and its realization. We had to choose a project from a preselected list, after which had to adapt the project to our liking. Our chosen project was the procedural city generation project.

Creation of environments for games is a laborious task. A way to simplify this task is by automatic generation of environments using parameterized procedures. For this assignment we were asked to, fully automatically and in a higly parameterizable way, generate a large city plan and fill that in with buildings, parks, bridges, traffic signs, etcetera. To increase level of realism and at the same time reduce the size of the model the generation of textures is highly advisable.

We created a system that automates the creation of a 3D city by employing procedural generation methods. Our system divides the generation in four main components. Firstly, terrain generation, which is done using real-world elevation data. Secondly, a population map is generated, which directly influences the next components. Thirdly, road network generation, which makes road networks that form the structure of cities. The road networks are automatically mapped on top of the geometry of the previously generated terrain. Finally, buildings are placed based on a variety of heuristics.