Inspiration
We have been inspired by this awesome paper: Müller, Pascal & Wonka, Peter & Haegler, Simon & Ulmer, Andreas & Van Gool, Luc. (2006). Procedural Modeling of Buildings. ACM Trans. Graph.. 25. 614-623. 10.1145/1141911.1141931.
What it does
Procedural Building Generator takes as input a grammar that describes how we want the buildings to look like. After applying the substitution rules of that grammar, it is left with a sequence of instructions that it then interprets as if it were the commands of program. This commands generate the 3D geometry of the buildings.
How we built it
From scratch, just using C++ and a 3D vector math library, nothing else.
Challenges we ran into
Parsing is not that easy (we should have attended more in compilers course).
Accomplishments that we're proud of
Well... It worked in just 36 hours and 2 team members. The tool is quite extensible and already generates nice scenes if the provided input grammar is somewhat complex.
What we learned
We have learned to implement a powerful interpreter for grammars.
What's next for Procedural Building Generator
The framework we developed makes it easy to extend it with new commands or even the possibility of instantiating any kind of primitive object, not just boxes and cylinders. And some polishing details, of course.
Log in or sign up for Devpost to join the conversation.