PCity - Procedural Modeling and Rendering of Cities
Motivation
One goal of computer graphics is the modeling of our everyday environment.
This includes cities and metropolitan areas. However creating such large 3D
models is often time consuming or even impossible. Other solutions are needed.
One possibility is the extraction from real world data gathered by satellites
or planes. However this is expensive and the user is not able to
create completely artifical cities.
Project
This project shows a different approach. The presented system offers a complete
procedural city generator. The user has to provide only little input data like
a configuration file and few maps (f.e. population density or height map). However
the output can be tuned via various parameters.
Features include:
- street network generation including several street patterns
- building generation
- texture generation from a texture library
- visualization engine
The system is inspired by the paper "Procedural Modeling of Cities" by Y. Parish and
P. Müller presented at SIGGRAPH 2001.
Right now only the legacy project Metropolis is available. It is the result of an university assignment
at the Technical University of Munich. As it dates back to 2004, naturally it is not in any
terms up to date. The graphics look not really good anymore and old versions of the dependency
libraries are used. However the plan is to use this old project as a base to create a new version
with more features and a lot of eye candy. Please also note that the legacy project is only available
for Windows XP and that it is not sure that it will compile with anything else than Visual Studio.net 2003.
How to use the legacy project Metropolis
-
Download it here
and unzip it.
-
Build the project found at metropolis\metropolis-project\metropolis-project.sln. It
will place all generated binaries in the \bin directory.
-
Generate a city by using the make batch file in the \bin directory and give it the
location of a configuration file as parameter, e.g.
"make ..\data\sample\sample.conf".
-
View a city by using the renderer in the \bin directory and give it the
location of a configuration file as parameter, e.g.
"metropolisrenderer ..\data\sample\sample.conf".
Screenshots
Contact
My hope is that this project is of use for the OpenSource community. Please help to develop it further.
You can use the
forums to get in contact.
(C) 2004-2006, Sebastian Paetzold (email: spaetzold at users.sourceforge.net)