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.
Fig. 21. A selection of various plant generated models.
Fig. 21. A selection of various plant generated models.
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]:
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).
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. 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
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.