Wayne Renshaw, Architect
commercial architecture
landscape & site design
rendering::rendering tips::virtual garden
 Architect
  Trees are a little more complicated than the bushes and shrubs. I have tried several techniques for mapping leaves onto a "tree" shape, unfortunately they always seem to look like a deflated beach ball with leaves painted on it, which is not the look that I want. To make a tree look good, you must draw some leaves. This is were the the task becomes complex. If you were to model enough leaves to make a tree look good, there would be more polygons in your tree than all of the rest of your model combined; a good looking tree can easily double or triple (or more) a model's rendering time.
 
simplifying
structures

simple tree drawing
 
 
 When drawing a tree (or anything, for that matter) it is important to understand how the computer looks at surfaces when it renders them. In order to render a surface, the computer breaks a complex shape down into simple polygons (known as "triangles" in the rendering biz) The more complex a shape, the more the computer will "triangulate" it. Each triangle forms a polygon, and the more polygons you have, the longer your rendering time. (There is actually quite a bit more to it, but for the sake of this discussion, this oversimplification will do.) If you take a shape, such as a tree trunk, and draw it with all the squiggles, bends, and branches that a real tree has, you will wind up with hundreds or thousands of polygons. The trunk illustrated at the left has 21 polygons.
 
intersecting
trees

cross section and isometric view of a tree made of two intersecting vertical planes
 
 
 By placing two of the above images together at right angles in a cross pattern we achieve a tree trunk/branch model that is realistic from any angle, and is composed of less than 50 polygons. I do not recommend the use of cylinders, cones, or other primitives to compose the trunk or branches as they will add more polygons, and you will get less "bang for the buck" The simple 2d polygons look just as good, and render far faster.
 
leaf
complexity
complex and simple leaf shapes
 
 
 When drawing leaves for your tree, it is also important to simplify. Consider, for example, the two shapes at the left. While the complex leaf may look a little more realistic than the simple leaf, we need to remember the concept of triangulation once again...
 
triangulating
leaves

diagram showing number of triangles that make up a complex leaf shape
 
 
 When we triangulate the two leaves, we see that the complex leaf shape triangulates out to 9 polygons, while the simple leaf is still only one. If all things are equal (which they aren't, but for the sake of argument we'll say that they are) than the simple leaf will render 9 times faster than the complex one - or we could have 9 times as many of the simple leaves and render in the same amount of time. Either way, the simple leaf shape is tremendously more efficient.
 
leaf
texture maps
color, ambient light, and transparency maps for a group of leaves
 
 
 The next step is to create the texture maps that are used to place actual leaf shapes on the the leaf polygons. We could simply color the triangle that makes up the leaf shape, however most trees don't have leaves shaped this way. By mapping a leaf shape we can also apply map lots of leaves onto a single triangle. This allows us to reduce the number of triangles that we need, and control their actual size and shape. Any popular leaf can be used. I simply painted a couple of simple leaves, and then made lighting and transparency maps.
 
modeling
leaves

triangles with leaf properties placed around a tree
 
 
 From here I actually begin to model the leaves. I make a new shape, which I creatively name "leaf group." This group includes 15 or 20 polygons, each with a different rotation and slightly different heights (depths). I draw each polygon large enough to map a half-dozen or so leaves onto it. It is important to make this group a named shape, so that while you are modeling you can hide the leaves (which has a noticeable impact on performance) In this picture you can make out the triangular shape of the polygon that the leaves are mapped onto. After you combine it with the rest of the leaves in the tree and render the triangles become much less obvious.
 
adding leaves
to a tree

wireframe image of leaf triangles around a tree (top view)
 
 
 Lastly, I insert the leaf group shape and copy and rotate the shapes around the tree trunk. It is worth taking the time and effort to get the shape distribution of the leaves around the tree correct. It is best to have at least three different views (top, front and side views) open while you are shaping the model, otherwise you will find that the tree looks good from one direction only. For my trees, I tend to use fewer leaf groups, making the trees a little more lacy so that they don't obscure the architecture quite as much. When you insert several trees, the leaves tend to add up and reinforce each other anyway, so once again it is not as important to have as many of them as you might think.
 
wireframe image of leaf triangles around a tree (side view)
 
 
 Keep in mind that different trees have different shapes; some are round, some are bell shaped, others are football shaped. Again, take the time and make the tree look good, as you can save the model as a shape and use it again and again.
 
shaded image of leaf triangles around a tree (side view)
 
 
 Some tips when using the trees:
  • If you insert multiple copies of the same tree into a model, be sure to rotate each tree by a different amount, so they won't appear identical.
  • Give each tree slightly different X,Y & Z dimensions. (You can even convert a round tree into an elliptical one this way.)
  • Use trees with different leaf colors (olive green vs apple green, or even fall colors). Even if the same model is used for both trees, the color difference will lend variety to the model.

 
contact us