In my thesis I worked on trees and forest, which you can find in nature, rendering in 3 dimensions and simulating physically. I made the implementation using Ogre and PhysX environments.
A tree can be well approximated by building it using only a few geometrically simple elements. The parts of the tree can be used for physical simulation, nevertheless easier model a simple unit than model a complex tree. For that reason I have chosen that I will implement it with generation. First of all I have started getting knowledge from how to render the crown of the tree and the bark of the trunk. There are some techniques and algorithms, which I have learned, such as billboard cloud for the crown and displacement mapping for the bark.
For representing various trees in easy way I have used a configuration file in xml to set the attributes of the generation. When I have finished the implementation of a single tree I tried to make a forest from lot’s of simple trees. I have had to consider, that I cannot make a big forest from repeating a tree, which has complex representation. So I have had to use a sort of level of details technique. For that I have made up a structure of a tree with four branches and I have used that for set the visibility of a technique, which depends on the actual level of details of the node.
For the end of this essay I have made some test and evaluation for my implementations of a forest and trees.