Structure Synth 0.9 Released

I’ve released a new version: Structure Synth v0.9.0 (“Glasnost”).

Binaries for Windows XP and Vista. Source for Linux and Mac. (Mac binary will be available shortly)

New features:

  • Template renderers: camera export is now working.
  • Implemented a ‘Triangle’ primitive. E.g.: ‘Triangle[0,0,0;1,0,0;0.5,0.5,0.5]’ is now a valid primitive.
  • Added support for ‘#define varname value’ preprocessor substitutions (useful for declaring constant variables).
  • A RenderMan template (created by Tom Beddard/Subblue) has been added.

Minor changes and bug fixes:

  • Added ‘FastRotate’ button (draws a subset while rotating/translating the view).
  • Template Renderer: Missing primitives no longer cancels the renderer, but only warns.
  • OpenGL renderer now turns off GLWidget when rendering (makes build phase faster).
  • Fixed CR+CR+LF export bug.
  • Enabled the Cut,Paste,Copy main menu.
  • Removed an extensive memory leak (leaked 16 bytes per created state).
  • When resizing the OpenGL window, width/height/aspect ratio is shown.
  • Corrected some syntax highlighter bugs.
  • Fixed a bug when going into full screen mode (not all chrome was hidden).

Download instructions at:

Note: the camera export is only implemented for the SunFlow templates (but you can apply the same techniques to all other templates). For PovRay you would probably need to change the coordinate system from a left-handed to a right-handed one (I believe you can do this in the scene description file).

2 thoughts on “Structure Synth 0.9 Released

  1. Quite a cool project you’ve developed. I am wondering if you had considered working on context sensitive grammars for “full” L-system support, as outlined in ABOP (The Algorithmic Beauty of Plants).

    Also, morphing your UI into a screensaver application would be a nifty side-line project to pick up some popular interest.

    BtW, compiles flawlessly on Linux, and no runtime problems I have encountered yet.

  2. Thanks!

    I have considered extending the syntax: it would not be difficult to add some kind of dependence on the state history. (For instance defining a rule R2 like: RULE R1>>R2, where it only could be chosen if the previous state was R1). I’m still not sure whether it would be very useful enough to further complicate the syntax for.

    I’ll consider a screensaver. In order to be interesting, it should be able to continuously generate new random forms – which requires some thinking…

    Regards, Mikael.

Leave a Reply

Your email address will not be published. Required fields are marked *