Thursday, April 02, 2009

I'm currently making a open source software toolkit for procedural tree generation called dendrogen (I figure every open source project needs a catchy name ;-)

My plan is to create efficient, practical implementations of promising tree generation algorithms, ready for incorporation into modern CG pipelines. So far I've implemented the algorithm from Runion et al's paper Modeling Trees with a Space Colonization Algorithm, and I'm half-way through an implementation of the algorithm in Rodkaew et al's Particle Systems for Plant Modeling.

I currently have no plans to implement L-systems, since 1) it seems that despite their extraordinary power for compactly describing rich plant geometries, they are not very directible -- it's hard for an artist to end up with a tree of a desired target geometry; and 2) I believe there are already well-developed tools in that area. My hope with the tool I am building is that it will be the center of a artist-centric tool that will permit interactive sculpting of foliage envelopes.

If I'm wrong about L-systems, please let me know.

The first phase of the project is to create high quality, well-documented and thoroughly tested C++ implementations, together with python wrappers that will be written in tandem.

The next phase will be creating tools for generating the geometry of the tree itself, using the skeleton generated by the code in the first phase. The tentative plan at this point is use implicit surfaces.

The attached screenshot is from Maya, but there is no Maya dependency in the code.

I'm currently leaning towards an LGPL license. If you would like a snapshot of the current code, let me know (kevin.atkinson at the domain


Post a Comment

<< Home