(Let me know if this needs to be moved - dg)
Greenworks organic software: http://www.xfrogdownloads.com/
“parameter-driven tree model generator for Blender” > http://www.geocities.com.nyud.net:8080/bgen3/
An lsystem script for blender: http://jmsoler.free.fr/util/blenderfile/images/lsystem/lsystem.htm
Done entirely with implicit surfaces to deal with the filleting problem.
Very slow to compute, of course - though it might be possible to use some implicit surface mesh calculation, especially if it can be done offline occasionally, and procedurally skinned to a skeleton.
A realtime tree rendering paper: http://www3.uji.es/~ribelles/Dept/Papers/Papers/dlsi_01032002.pdf Lots of multiresolution/simplification strategies.
An approach using billboards (camera facing sprites): http://www.gametools.org/projects_udg/gt_ibr/papers/treeBillboardClouds.pdf
One of my lsystem attempts in fluxus - a very stylistic approach (all right angles). Trees are built out of cube primitives for an artificial life simulation, in isometric projection:
The cubes approach was too slow (for my old graphics card in 2004) I needed to be able to spawn hundreds of trees at a time - they were evolving using mutation errors of data encoded in seeds the trees dropped (and playing music as they grew). I later moved to using camera facing geometry (sprites), textured with faked normals to make them shade according to the lighting to appear cylindrical. With a bit of texturing it looked like this:
This worked well, and I could render more trees at an acceptable framerate. It might be a good technique for background mass foliage - or low level of detail for distant plants… I think you can do the face forward calculation in a hardware shader these days.