Procedural model is a model represented by a code - for example C++, Python, L-system, or a shape grammar. The objective of inverse procedural modeling is to find a code that would represent a given structure. We have presented several results in generation of inverse procedural models for regular structures that are represented as L-systems, 3D models of biological trees that were encoded as parameters of a simulation system that generates them. We have also presented successful application of IPM in cities and complex urban layouts. Another interesting problem is to use inverse procedural models that were learnt from existing structures in artistic design - such as interactive "brushing" of virtual worlds.
One of the long open problems in Computer Graphics is visual simulation of Nature. Although the output of those simulations are 3D geometric models, usually an in-depth understanding of the underlying processes is necessary. We have long history in simulation of virtual erosion that generates visually plausible terrains. We have developed several models for river generations and terrain modeling in general. Another interesting area is simulation of vegetation. Trees and plants are complex systems with shape defined by competition for resources, among which light is the most important one. By incorporating competition for light into the tree developmental process (growth) we can simulate very complex tree shapes as well as ecosystems of trees competing for resources. We have also presented models of trees growing under the influence of wind.
Additive manufacturing presents novel problems to Computer Graphics. Many 3D objects are not designed with 3D printability in mind and can break during and after printing or their generation may take a very long time. We have developed various novel approaches for optimization of 3D object shape to allow structural strength, better generation of support structures, and 3D packing.
Our algorithms utilize modern GPUs and we have developed several algorithms that improve techniques in computer animation, level of detail generation, rendering, and visualization.