From the Archive · 2001 / 2003
eTree
Real-time modeling and rendering of a procedural tree.
This is a method for modeling and rendering a procedural tree in real-time. A branch-glowing algorithm is introduced for progressively modeling the tree, and it also provides the capability of tweaking the shape of the tree in a parametric way. The demonstration program shows the performance of this method.
Demo program — OpenGL / Win32
The demo program is implemented with VC++ 6.0 in 2001, and refactored with VC++ 2003 in 2003. The rendering is based on OpenGL 1.1. I developed and tested it on a laptop with a 1.2 GHz Celeron CPU, an ATI Radeon M6 video card, and 16 MB of video memory on board. It runs at about 40 fps.
Make sure you have a hardware-accelerated OpenGL runtime library installed instead of the software-simulated one pre-installed by Windows — otherwise a large fps drop appears. The correct OpenGL runtime library is usually shipped with the latest driver of the video card. The caption of the demo window shows the name of the OpenGL runtime in use; it should contain the model of your video card.
Be careful when tuning [ Tree Total Depth ] and [ SSE. Dep. Attenuate ]. Large values of these two parameters make a low-end PC run very slowly, while a powerful PC can take both to the maximum.
Parameters
The global parameters mentioned in the report (English version) are named as follows in the UI of the demo:
| Term in paper | Term in UI |
|---|---|
| Depth | Tree Total Depth |
| Expand | SEG. Expand Angle |
| Length | SEG. Len. Attenuate |
| Radius | SEG. Rad. Attenuate |
| Twist | SEG. Twist Angle |
| Bifarcate | SSE. Bifurcate Angle |
| SideDepthScale | SSE. Dep. Attenuate |
| SideScale | SSE. Scale Attenuate |
Downloads
The demo program: