CityEngine

CityEngine, is a 3D modeling application specialized in the generation of three dimensional urban environments. With the procedural modeling approach, CityEngine enables the efficient creation of detailed large-scale 3D city models with merely a few clicks of the mouse instead of the time exhaustive & work intensive method of object creation & manual placement.

History and releases
CityEngine was developed at ETH Zurich by the original author Pascal Mueller, co-founder and CEO of Procedural Inc. During his PhD research at ETH Computer Vision Lab, Mueller invented a number of ground breaking techniques for the procedural modeling of 3D architectural content which make up the foundation of CityEngine today. In the 2001 Siggraph publication (Procedural Modeling of Cities - Yoav Parish and Pascal Mueller) CityEngine is presented for the first time outside of the research community. Several more research papers have featured CityEngine since then.

In 2008, the first commercial version of CityEngine was released by Swiss company Procedural Inc and is used by professionals in urban planning, architecture, visualization, game development, entertainment, GIS, archeology and cultural heritage]].

In 2011, Procedural Inc. was acquired by Esri. Esri will integrate CityEngine technologies into ArcGIS, and CityEngine will continue to evolve and expand as a stand-alone product. The founders and employees of Procedural will be employed by Esri, and Procedural's offices in Zurich will be extended to a leading-edge R&D center in the field of urban design and 3D content creation.

Features
CityEngine is a standalone software that provides professional users in entertainment, architecture, urban planning, GIS and general 3D content production with a unique conceptual design and modeling solution for the efficient creation of 3D cities and buildings. The key highlights of CityEngine include:

GIS/CAD Data Support: Support for industry-standard formats (ESRI Shapefile or DXF) which allow to import/export any geo-spatial/vector data.

OpenStreetMap Import: Use data from OpenStreetMap to copy real cities.

Dynamic City Layouts: Interactively design, edit and modify urban layouts consisting of (curved) streets, blocks and parcels.

Street Networks Patterns: Unique street grow tools to quickly design and construct urban layouts.

Rule-based Modeling Core: Procedural modeling based on CGA rules allows to control mass, geometry assets, proportions, or texturing of buildings or streets on a city-wide scale.

Facade Wizard: Quickly create rules out of an image or a textured mass model with this simple and easy-to-use visual facade authoring tool.

Parametric Modeling Interface: A convenient interface to interactively control specific street or building parameters such as the height or age (defined by the CGA rules)

Map-Controlled City Modeling: Any parameter of the buildings and streets can be controlled globally via image maps (for example the building heights or the landuse-mix).

Industry-Standard 3D Formats: CityEngine supports Collada, Autodesk® FBX®, 3DS, Wavefront OBJ, RenderMan® RIB, mental ray® MI and e-on software's Vue, which allow for flawless 3D data exchange.

Reporting (BIM for Cities): Customized rule-based reports can be generated to analyze the urban design e.g. automatically calculate quantities such as GFA, FAR, etc.

Python: Streamline repetitive or pipeline-specific tasks with the integrated Python scripting interface.

Training Materials & Provided Examples: Several learning videos and tutorials demonstrate you the basics and key concepts of CityEngine. Included are demo cities of ancient, contemporary and future cities.

Available for All Platforms: Available for Windows (32/64bit), Mac OSX (64bit), and Linux (32/64bit).

Procedural Modeling
CityEngine uses a procedural modeling approach which means it automatically generates models through a predefined rule set. The rules are defined through a CGA shape grammar system enabling the creation of complex parametric models. A user can change or add the shape grammar as much as needed providing room for new design possibilities.

Modeling an urban environment within CityEngine usually starts out with creating a street network either with the street drawing tool or via maps imported from openstreetmap.org. Next step is to subdivide all the lots as many times as specified resulting in a urban map of lots and streets (see the New York 2259 example). Now by selecting all or some of the lots CityEngine can be instructed to start generating the buildings. Due to the underlying procedural modeling technology all buildings can be made to vary from one another to achieve a urban aesthetic. At this point the city model can be re-designed and adjusted by changing parameters or the shape grammar itself.

Publications

 * ACM Siggraph 2001: Procedural Modeling of Cities - Yoav Parish and Pascal Mueller
 * ACM Siggraph 2006: Procedural Modeling of Buildings - Pascal Mueller, Peter Wonka, Simon Haegler, Andreas Ulmer and Luc Van Gool
 * ACM Siggraph 2007: Image-based Procedural Modeling of Facades - Pascal Mueller, Gang Zeng, Peter Wonka and Luc Van Gool
 * ACM Siggraph 2008: Interactive Procedural Street Modeling - Guoning Chen, Gregory Esch, Peter Wonka, Pascal Mueller and Eugene Zhang


 * Eurographics 2009: Interactive Geometric Simulation of 4D Cities - Basil Weber, Pascal Mueller, Peter Wonka and Markus Gross
 * Eurographics Symposium VAST 2006: Procedural 3D Reconstruction of Puuc Buildings in Xkipché - Pascal Mueller, Tijl Vereenooghe, Peter Wonka, Iken Paap and Luc Van Gool
 * Eurographics Symposium VAST 2007: Populating Ancient Pompeii with Crowds of Virtual Romans - Jonathan Maïm, Simon Haegler, Barbara Yersin, Pascal Mueller, Daniel Thalmann and Luc Van Gool