Skip to content.



OTL Reloaded

From OpenTree



OTL Reloaded is a project of OpenTree which intends to redesign and rewrite the library from scratch. The reason for this project is mainly because the current design will not suit the needs of our potential users.

The new project will provide a better and more flexible set of tools so that the library is more useful to game developers.


OpenTree will be split into several components.

OpenTree Designer
The Designer forms the main application which is used to create the trees. This will be done by modeling the trees or by using a generation algorithm like L-Systems or that described in the Weber/Penn paper.
OpenTree Renderer
The Renderer component is responsible for animating and rendering the trees at runtime using the previously generated data. We will provide example implementations that use OpenGL and DirectX.
OpenTree Forest
The Forest is an online collection of trees which can be used freely by anyone interested. It is meant to be a place where people can download tree models as well as contribute their own creations.
OpenTree Library
The library itself implements all the reusable functionality in the project.


Tree Creation
Creating tree definitions that will be represented by otTree classes.
Mesh Creation
Generating meshes out of the otTree tree definitions.

Leaf matrices should be accessible if the user wants to use instancing to render the leaves.

Code required to render in the 3d engine.

File Formats

These file formats are written/read by the serialization code which is implemented in the library.

Tree Designer File
Contains all the generators and their parameters, meshers and their parameters, modeled modifications, and premade meshes/textures necessary to produce the final Tree Mesh File.
Tree Mesh File
Contains the output of the meshers at several static levels of detail.

Use Cases

Use Cases
Shows how OTL is intended to be used.