iCandy Home
iCandy

René Truelsen (rtr at rtr.dk) and Morten Bonding (mobo diku.dk) © January 2008

Student project, 7.5 ECTS, supervisor: Kenny Erleben.

Department of Computer Science, University of Copenhagen



Batch rendering trees TEASER



In this project we describe a combined method for growing, representing and efficiently rendering procedurally generated trees on commodity hardware.

Tree Growth

Modified Fractal-plant L-system growth from age 2 to 7

We use Context-free Stochastic Parametric L-Systems for simulating simple tree growth, and use a command-driven skeleton data structure, normally used for character animation, to represent and generate the geometry.

Geometric Tree

We use the geometry in a dynamic level-of-detail scheme, integrated into a slice-based volume rendering impostor.

Correctness High To Low

Slices at different levels of detail

The data structure of the impostor is represented in a way, that allows for shader-based transitions and "early exits" in the rendering pipeline to achieve optimal performance. Each slice contains a projection of a given subset of the geometry, enabling us to render a plausible and fast approximation of the original geometry.

Correctness High To Low

Level of detail scene

Using an optimized Vertex Buffer Object based batch rendering, we can render up to 10.000 trees at a frame rate of 20 to 50 fps, depending on the hardware in use.





Videos