Generating Procedural Plant Ecosystems
Subscribe:  iCal  |  Google Calendar
Kyiv UA   22, Sep — 23, Sep
Valletta MT   23, Sep — 29, Sep
24, Sep — 27, Sep
Tokyo JP   25, Sep — 27, Sep
San Diego US   27, Sep — 30, Sep
Latest comments
by north shore taxis auckland
8 hours ago

You can also book a car to south Auckland airport when travelling home or to your next destination.

Excellent overview of unreal Ray-Tracing stuff, thank you! Any chance you can add the scene to the asset pack?

So what's exactly the advantage? good would be a direct comparison to known renderers

Generating Procedural Plant Ecosystems
10 July, 2019
Environment Art

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.

Fig. 21. A selection of various plant generated models.


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.


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.


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.

Fig. 12. By selecting temperature and precipitation values we can generate other biomes.

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.

Fig. 20. Screenshots of our interactive modeling tool. Environmental parameters (temperature and precipitation) are used on ecosystem level (left) to specify the climate. For each plant type plasticity parameters are set to describe the interaction with the environment (right).

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.

Fig. 7. Bird’s eye view of simulated plant populations. Different forest patterns emerge due to plasticity parameter changes: smaller seeding radius (top row); higher seeding radius (bottom row). (a)-(b): small stol values; (c)- (d): high stol values. (e)-(f): gaps and labyrinths emerge due to senescence. (g)-(h): variable plasticity parameter settings of two species resulting in different plant distributions

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).

Fig. 19. Temporal progression of a developing ecosystem composed of about 500K plant models and three plant types: a shrub, a conifer, and a deciduous tree. We start the simulation with a mountainous environment devoid of vegetation such as is the case, e.g. after an ice-age. (a) fast-growing shrubs populate all the terrain, (b) slower growing tree models start overshadowing shrubs at lower elevation levels, (c) a mixed forest of conifers and deciduous trees at lower elevations emerges, (d) the segregating forest forms a tree line with the cold-adapted shrub appearing only at the top of the mountain, (e) cohort senescence leaves large gaps in the conifer forest stand, (f ) after several successions of trees a mixed age-forest emerges


Fig. 1. Ecosystems of different biome types generated with our framework: a tundra with cold-adapted trees (a), a savanna with grass and acacia trees (b), a deciduous forest composed of maple trees (c), a boreal forest with tall pine trees (d), and a rain forest scene with a large variety of species (e). Our framework exploits inter- and intra-plant self-similarities to model plants and thereby allows us to interactively generate complex ecosystems.

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.


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

Filther for Substance by Ronan Mahon helps to add fully procedural dirt and filth to any material for a fast and beautiful result that is easily customized. Get infinite variation quickly using automatic smart blends. For use in Substance Designer, Painter or Alchemist.

Check the full description

Contact Ronan Mahon


Leave a Reply

1 Comment threads
0 Thread replies
Most reacted comment
Hottest comment thread
1 Comment authors
Anon1 Recent comment authors

Please consider having a dialog with Matt Fairclough of Planetside’s Terragen about possibly integrating this technology into the software.

Related articles
CGI/Static Rendering
Environment Art
Environment Design
Environment Art
Environment Design
Environment Art
Environment Design