Just checked out this program, after seing a link to it in the tree generator thread. It’s a tool for modeling plants, but can also be used for other growth-grammar related stuff and whatnot. Here’s a link to the website.

The program is open source java, and contains a lot of different parts. The plant modeling functionality seems to be derived from a separate lib called Grogra. GroIMP contains extended functionality tho, such as XL script support (Extended L-systems), an advanced GUI and even OpenGL support.

In the default version you just write small snippets of XL-script, which the program translates and compiles into java bytecode. Everything is supported by a java class, and there’s also info on how to work with the java code directly. There’s very good information in general, and a nice tutorial is baked into the program itself.

Gonna look around for some nice plant generation plugins. There should be some higher-level system out there so that you don’t have to work with the grammar directly (something more like arboro or ngPlant). It would be nice to include this functionality in BioMonkey somehow. Maybe not now, but later. It can be used for spreading out plants and stuff as well, not just model the geometry.

Here’s a … something I made, using very simple rules. A slightly tweaked binary tree model with some rods for trunk/branches, and cubes for leaves. Rendered with OpenGL.


Just a note: the code is GPL (not even LGPL) so is pretty restrictive.

They’re offering alternative licences as well. If this becomes useful I’m gonna contact them and see what other options are available.

This thing is so pro… I’m gonna have to incorporate it in the system eventually, perhaps as a stand-alone module to generate stuff. I’m wondering if the meshes and data it produces are forced to use the same licence as the program. That would be weird. It would be as if a picture or texture can’t be sold after creating it in gimp, because of the way gimp is licenced.

If that isn’t true, the module could be used only for mesh and texture generation, then the meshes etc. are converted into jME objects. The GroIMP code itself could then be used outside of the actual jME projects.

1 Like

We can add GPL code (only) via SDK plugins.

1 Like
<cite>@androlo said:</cite> GroIMP contains extended functionality tho, such as XL script support (Extended L-systems), an advanced GUI and even OpenGL support..
GroIMP uses JOGL 1.1.1a, it is possible to port its code to JOGL 2 and maybe you can use it with the JOGL 2.0 renderer of JMonkeyEngine 3, with a render delegate.