TPF plant preview and graph exampleThe Plant Factory graph system is most complex. TPF nodes are not only used to define plant components but also for L-Systems like control (ex. Loop node), conditional branching, randomnes (random input, random output) or to influence parametes inside nodes. Coloured 3D preview of model helps identifying various sections of the plant defined by distinct nodes. But TPF models with implemented age/health/season variability can use huge graphs convoluted by several orders of magnitude.

Speed Tree plant preview and graph examplSpeed Tree graphs are simple they look very nice. Only plant component nodes are available, no additional control nodes, parameters extraction, looping , neither plant colouring - only highlight of parts generated by selected node.

Xfrog plant preview and graph examplXfrog graph system is a little bit more complex than one from Speed Tree. But lack of randomness in Xfrog has to be compensated by addition of additional graph parts to the graph, so sometime you may end up with pretty complex graphs even for very simple plants.

TPF Plant Edition Nodes
If quantity of nodes types would define the quality of plant editor, TPF would obliterate any competition with some 30 dedicated plant edition nodes + about 250 general purpose nodes. In reality, most of plants can be build just with single node type : branch (segment). Additional nodes can enhance control, precision, detail, realism, but Speed Tree with its 2 nodes does almost as well as TPF in majority of common situations.

Procedural 3D vegetation editors

use graphs to define plant structure, and parameters to fine tune plant shape.

Graph is a structure of linked nodes. Nodes define plant parts and links define order in which consecutive parts are generated. Main graph nodes are multiplyers (also known as generators), as they generate multilple instances of following (child) node attached to them.

Building of plan structure with graph

First, user defines basic plant structure by creating a graph (connecting several nodes together), then he selects each node, and modifies its properties (by adjusting node parameters values) shaping plant components.
User can change number of branches, their distribution, shape etc...

Fine tuning of plant shape by adjustment of nodes parameters

On example above we see the set of controls for blending of thick branches (orange node) with parent trunk

The last step consists of defining materials for bark and leaves :

Assignement of materials for  bark and leaves

Procedural approach gives very precise control over modeled object and provides highest degree of flexibility. Below are some examples of technical structures I have created with The Plant Factory editor. It would be impossible to create such objects in other types of plant modelers.

Examples of non biological 3D models creted with TPF

But in order to create nicely looking, realistic models of plants in procedural editor, a lot of experience is needed. Main branch nodes of leading appliactions use over 100 parameters, which may be discouraging for a new user looking just for a fast way to add a nice tree to his scene. On top of parameters complexity you have nodes structure complexity. Speed Tree models use the simplest graphs, xfrog usually has more complex graphs, but the most convoluted graphs are found in TPF models with implemented age/health/season variability. In those models using sometime hundreds nodes even model designer can get lost.