Pseudo-fractal structure of tree branches

Extreme complexity of conifer tree geometry

3D plants modelling challenges

Introduction : Creation of realistic, high definition 3D trees is a challenging task due to complex geometry of real world trees.
In this section I expose problems related to recreation of realistic looking 3D vegetation, and I present the main types of approach used by 3D botany software. Numerous plants, especially trees, are pseudo-fractal objects. Similar pattern repeats itself in various scales making whole object "fuzzy", without a clear edge as on compact objects like a ball or a car. Current 3D modeling & rendering methods are ill adapted for recreation of such utterly complex objects. Similarity of shape is an advantage, but complexity of geometry is a huge problem when algorithm has to generate a model of let say Christmas tree.

Cheating out complexity : Number of needles on a conifer tree is in range of tens of millions, considering that a decent 3D representation of single needle would require 9 polygons, you get something around 100 000 000 polygons for a single tree. This is way beyond capabilities of today standard computers. Simplifications are necessary. Complexity problem can be partially solved by replacement of chunks of plant's geometry with images using transparency (ex. alphaplanes, billboards), and with instancing (repetition of the same element) :

3 ways to create leaves on 3D  tree:  Geometry,  Alphaplane,  Billboard

Some 3D orthodox fundamentalists ;-) may claim that using transparency (especially on billboards) is not "true" 3D, that it is cheating, and only "real" geometry should be used. They forget that everything about 3D is cheating, everything in 3D is virtual and any 3D technique which generates desired images and does it quickly, is the good one. Everything in 3D is a tradeof, and common sense should be used to select the best approach at particular case.

Alphaplanes work smoothly on realtime previews (as far, as graphic board can cope with model complexity), but on raytracing renderings, especially with global illumination, transparencies slow down rendering considerably. On example above, rendered in TPF, first pure geometry object rendered in 40 seconds, second with alphaplanes in 1min20 third with billboards 2min30. So more transparency = longer rendering, but simpler geometry possible to fit into computer memory.

Another problem is how to efficiently define such complex structures as tree branches bifurcating from 1m thick trunk to 1mm thin twigs. Fortunately branching structures on plants often display self-similarity, it means that tiny twigs look very similar to thick branches, just smaller. Such repeatability of shape can be dealt with iterations :

Iteration tree growth with increasing  iterations
Example of iteration tree created with The Plant Factory

Shaped by sun & shadow : two trees of the same specie, same age and health can look completely different, depending where they grow: on open field, where light shines from every direction, or inside forest, where the light is available only over forest canopy top (more info here) :

Tree crown shape in open space  and  in forest

Same process of plant shaping by sunlight happens for every part of the plant : branches grow where there is empty space, and where more sunlight is available. In areas where sunlight does not reach, branches die, dry, and drop. Today there is only one 3D software capable of simulating this process L-Studio developed by prof. Prusinkiewicz from University of Calgary, and it's simplified version for iPad TreeSketch.

3D botany software types

Current 3D plant creation software use following approaches :

L-System is the oldest approach for generation of plant like shapes. It offers almost unlimited flexibility, but it is complex as user has to type the code, which can become too convoluted, too complex to manage when parameters for simulation of realism have to be implemented into code. Sometime process is done in 2 stages : relatively simple code defines basic plant structure, then parameters are used to fine adjustment of the plant:

L-System code
=>
Basic plant model
+
Parameters
=>
Final 3D Plant
       
OPTIONAL STEP
   

Procedural editors like Xfrog , Speed Tree, The Plant Factory merge high versatility with relative simplicity. User defines plant structure by assembling a graph in graphic editor. Then he adjusts characteristics of plant parts defined by graph nodes. This approach offers most control over precise definition of needed shape. However due to multitude of parameters, a lot of learning may be needed before user is able to create nice models from scratch.

Graph
+
Parameters
=>
Final 3D Plant
         

Customizable editors like Onyx or Botanica are like procedural ones, but without graph creation step. Basic models are predefined, and user is limited to adjustment of those models. In Botanica L-System code was used to generate the basic model, and user had no access to this code.

Models library
=>
Preset
+
Parameters
=>
Final 3D Plant
   
TEMPLATE
 
   

Growth simulation approach implemented in L-Studio can produce nice, botanically correct results, but user has no precise control over the shape, as environment constraints and initial "seed" properties shape plant in simulated growth iterations.

L-System code
+
Parameters
=>
Final 3D Plant
   
ENVIRONMENT IMPACT
   

Models Libraries software aren't real editors, they just simplify addition of predefined models into 3D scene, (ex. visual browser). Some very basic settings may be available, like level of detail or selection of model according to season. Laubwerk and Lenne3D represent this category. More focused simplicity than versatility.

Models library => Final 3D Plant
     

Painting approach consist of user painting with mouse or tablet offspring branches over parent branches. Basically user defines branch axial spline shape, and algorithm does the rest - defines appropriate radius, populates painted branch with other branches, creates smooth surface blending between parent & offspring. At this moment the most advanced painting is implemented in iPad free application Tree Sketch. Speed Tree and Tree Factory also have such functionality.

MAIN PAGE

DIRECT LINK TO THIS PAGE

 

 

MAIN PAGE