Generating Procedural Plant Ecosystems

Torsten Hädrich overviewed the research paper that covers the procedural ecosystem generation and will be presented at SIGGRAPH 2019.

Torsten Hädrich overviewed the paper Synthetic Silviculture: Multi-scale Modeling of Plant Ecosystems that covers procedural ecosystem generation and will be presented at SIGGRAPH 2019.

Introduction

Our paper Synthetic Silviculture: Multi-scale Modeling of Plant Ecosystems is the result of a collaboration between Milosz Makowski and Wojtek Palubicki from the Adam Mickiewicz University, Sören Pirk from Google Brain and Dominik L. Michels, Jan Scheffczyk and myself from the King Abdullah University of Science and Technology (KAUST). I am a Ph.D. student in the Computational Sciences Group at KAUST and mostly interested in the simulation of natural phenomena in the field of visual computing, with a focus on vegetation simulation and interactive methods.

Thesis

Until now, many methods for the efficient modeling and rendering of large scale vegetation have been introduced in the computer graphics community. However, many existing approaches for the simulation of plant growth and their interaction with the environments are not well suited for the simulation of large ecosystems due to their computational complexity. The interesting question at the start of this project for us was how we can develop a system for ecosystem simulation that is able to efficiently model the growth of large plant populations based on biological principles with high visual fidelity, given the current hardware limitations.

Procedural World Generation

Procedural methods, as used for the world generation in Far Cry 5 [1], often use particle systems for plants to model the ecosystem and its development over time. Particles, where each represents an individual plant, are initially scattered in the environment. The ecosystem then evolves based on rules that define the essential characteristics of each plant type, such as the growth rate, sensitivity to the environment, plant-plant interaction within a certain radius and seeding pattern of new plants. Later individual trees assets, which have been pre-generated in modeling tools, can be placed at the individual particle positions.

[1]:

Billboards and imposters are good solutions for reducing the amount of drawn geometry. They are especially useful in the context of the level of detail when objects in the environment are exact duplicates and minimally animated. Thin features, such as grass, can even look convincing at a relatively close distance. However, when dealing with larger objects, such as tree branching structures, it is necessary to switch from the imposters or billboards to actual 3D geometry at certain proximity. It is typically difficult to achieve a smooth transition and changes with regards to the coverage of the object on the screen and the shading are often very noticeable.

Synthetic Silviculture Approach

In contrast to particle-based procedural approaches, our ecosystem simulation considers the plant architecture from the start. The core idea behind our approach is to employ a multi-scale representation for plants, which exploits inter- and intra-plant similarity. In particular, we make use of the fact that plants share similar branching patterns within a single plant, across multiple plants, and even across different species.

We define the topology of branching structures as species independent module prototypes. Initially, a set of module prototypes is generated and positioned in a special parameter space, which we call morphospace, that covers the characteristic branching patterns we can observe in nature. The module prototypes are used as templates to instantiate branch modules that form the architecture of a plant in our simulation.

During the temporal evolution, the branch modules are adapted, pruned or added. The reuse of prototypes templates allows us to represent trees with just a small number of prototypes instead of modeling all their individual branching structures. This approach also allows us to visualize thousands of plants in real time using instanced rendering of the branch modules. Thus, we can see the plant geometry at any stage of the ecosystem.

Another benefit of modeling plants with branch modules is the ability to capture plant interactions with the environment on a detailed level and as a result, each plant develops its individual branching structure. For example, big trees can overshadow the understory, causing less shade tolerant trees to die off or reduce their growth in this area. Another example is the adaption of plants to obstacles or other plants in the neighborhood.

As a level of detail approach, we can use the branch module topology for creating branch geometry as tapered cylinders in the shader and adapt their resolution dynamically proportional to the distance. This reduces popping artifacts which are common when billboards or imposters are used for the level of detail.

Generating Ecosystems

Ecosystem biomes are commonly characterized by annual temperature and precipitation. Tundra is an example with low precipitation and low temperature, tropical rainforest an example with high precipitation and high temperature. We assume the precipitation to be constant throughout the simulation, while the temperature depends on the elevation. For each species, we define a sensitivity towards temperature and precipitation from which we compute the probability of a plant appearing in a biome.

The growth potential of plants is computed mainly based on accumulated light in the whole plant. To determine light occlusion, we employ a global shadowing method.  We also calculate the intersections between the branches to simulate the plants’ competition for space. The other most important elements that influence the plant growth that we take into account is the response to different kinds of tropism. The most prominent categories of tropism are the response to light (phototropism) and gravity (gravitropism). Moreover, collisions of plants with obstacles or other plants inhibit their growth.

Inclusion into Pipeline

In the paper and our supplementary video, we present results rendered in our interactive framework (e.g. Fig. 19), as well as offline renderings from Houdini (e.g. Fig 1).

For the offline renderings, we export the vegetation topology along with additional information (e.g. branch radius, leaf positions, species) from our application. After importing the data in Houdini, the branch geometry, foliage, and the grass are procedurally generated.

Our method could be used in games since we designed it with interactivity in mind. Instead of exporting/importing 3d assets it would be more efficient to use our lightweight tree representation. This would, of course, require some changes to existing game engines and custom shaders for the rendering.

Distribution

We haven’t released our framework to the public yet, as it is so far only a prototypical implementation for demonstrating the abilities of our ecosystem modeling approach. We haven’t decided on concrete future steps yet, but we are open to exploring the possibilities of either to continuing the development of our tool as stand-alone software or integrating our method into existing modeling software.

Torsten Hädrich, PhD Student

Interview conducted by Kirill Tokarev

Published 10 July 2019
Torsten Hädrich
PhD Student
Kirill Tokarev
Intervew by President