Figure 1: With our parallel approach to procedural architecture, large cities can be generated in less than a second on the GPU. The city overview shows a scene with 38 000 low-detail buildings generated in 290 ms (left). The 520 buildings in the skyscraper scene consist of 1.5 million terminal shapes evaluating to 8 million vertices and 4 million triangles, all generated in 120 ms (center). The highly detailed skyscrapers are built using context-sensitive rules, to, e. g., avoid overlapping balconies (right).
AbstractIn this paper, we present a novel approach for the parallel evaluation of procedural shape grammars on the graphics processing unit (GPU). Unlike previous approaches that are either limited in the kind of shapes they allow, the amount of parallelism they can take advantage of, or both, our method supports state of the art procedural modeling including stochasticity and context-sensitivity. To increase parallelism, we explicitly express independence in the grammar, reduce inter-rule dependencies required for context-sensitive evaluation, and introduce intra-rule parallelism. Our rule scheduling scheme avoids unnecessary back and forth between CPU and GPU and reduces round trips to slow global memory by dynamically grouping rules in on-chip shared memory. Our GPU shape grammar implementation is multiple orders of magnitude faster than the standard in CPU-based rule evaluation, while offering equal expressive power. In comparison to the state of the art in GPU shape grammar derivation, our approach is nearly 50 times faster, while adding support for geometric context-sensitivity.