Wednesday, 11 August 2010

Procedural Trees

Organic objects, particularly plants and trees, are every 3D artist's nightmare. They are very familiar objects with a huge amount of detail which is really hard to capture within the memory constraints of pre-rendered graphics and polygon constraints of real time graphics.

The best approach is not to try and model or paint the detail yourself but design a program which can "grow" the graphics for you... The images of branches below are generated by a custom script in ImageJ, this is an example of procedural generation, which can generate huge detail very quickly. The graphics are made up of three parts; the alpha map (black shows that area should be transparent, white indicates opaque), the bump map (which adds depth and shape to the shading of the texture) and the diffuse texture (which provides the colour).

The alpha map (black is transparent).
The bump map (white is higher).
The diffuse texture (the colours to use)

Putting 6 of these computer generated textures together a pretty detailed tree can be made with just a few polygons. These trees render quickly and could be used in a computer game.Software used:
ImageJ - Procedural generation of textures.
Blender - Creation and rendering of 3D models.

1 comment:

  1. Hi Richard

    Great post, nice results. Methods like this have application with geoscience maps as well. I have publish on a similar topic using matlab code:

    Did you use your own ImageJ macro, or a plugin, and is this available?