Procedural reconstruction of Venice – first progress report

In this first report we analyze our progress, explain how it changed our objectives and how we made our choices, and revise our work plan for the semester.

Our initial plan was to spend the first three weeks gathering data from various sources such as books and google street view but we quickly realized that we were heading on the wrong direction as these sources contained datas from all kinds of buildings from a large time span. Hence, we quickly decided to change our focus only on minor buildings as these are more prone to be procedurally generated whereas cathedrals and Palazzi are more “unique” and thus fitted to manual or semi-automatic modeling.

Part of the first two weeks of our project were spent isolating interesting drawing and pictures in the two references books we have on the minor building in Venice. One of the two [1] is especially interesting for our project, as the sections are already organized by era and by district. In the meantime we also spent quite some time reading on the topic of procedural modeling and how to implement a software that does so. We additionally searched for already existing solutions to be inspired by.

When we initially thought about the procedural reconstruction of Venetian buildings, we wanted to create our own software to generate the geometry based on context-free grammars but, after reading two papers [3, 4] on the topic, we realized that this solution would require a significant amount of time spent on re-implementing existing solution and less time spent on the actual task of creating a good grammar based on the various sources we have. Having taken the decision to step aside the creation of our own rendering software, we started searching for existing solutions and evaluating them. We summarize our findings in the following array that compare some of the existing procedural city generation softwares.

As shown on the above table, CityEngine appears to be the most advanced solution and the software with the more sophisticated features. Moreover, its interface has allowed us to edit a template grammar shipped with the version we tried. Our updated goal for the project is the creation of a generic grammar for one time period and its proof of concept implementation using CityEngine. This new goal is more fitting with the topic of the class, as this isn’t a programming class after all.

This new goal rises new milestones which are described in the section below. If time permits, we have several ideas for extending our project, such as the extension of our grammar to multiple time period or the creation of a simple rendering software for our grammar.

In conclusion, we will first focus on building a strong grammar for a specific period on CityEngine, and then extend it to another software as well as another period.


  • Weeks 1, 2, 3 : Building choices & Source gathering
  • Weeks 3, 4, 5, 6 : Implementation of Simple grammar on CityEngine
  • Weeks 7, 8 : More advanced grammar
  • Weeks 9, 10, 11 :  Creation of a simple rendering software
  • Week 12 : Texture Creation
  • Week 13 : Poster preparation
  • Week 14 : Wrap up and final presentation


[1] Trincanato, Elge Renata. Venezia minore. Verona: CIERRE EDIZIONI, 2008. Print.
[2] Foscari, Giulia. Elements of Venice. LARS MULLER, 2014. Print.
[3] Müller P., Wonka P., Haegler S., Ulmer A., Gool L. V.: Procedural modeling of buildings. ACM TOG (SIG- GRAPH) 25, 3 (2006), 614–623.
[4] Wonka, P., Wimmer M., Sillion F., Ribarsky W, 2003. Instant architecture. ACM Transactions on Graphics 22, 3, 669–677.

Group members

Gaspard Zoss, Frédéric Moret, Pierre Sarton