in 2014 I was looking into ways of simulating organic growth, with the first profound discovery being that plants are in fact fractals, yeah!
they have self-similarity and their growth is governed by a set of basic rules.
thus, to generate something plant-like you’re actually generating fractals.
after reading some literature on the topic, namely “The Algorithmic Beauty of Plants” by Aristid Lindenmayer, I started to write my own L-System implementation in C++, which you can find here, as part of my KinskiGL graphics-toolkit.
the main reason not to use something like SpeedTree or existing implementations for your favourite game-engine, was the required low-level flexibility and a deep fascination and curiosity for the topic.
I wanted to completely understand the underlying tech and have total control over it, so the results would look different and more unique than something produced with existing e.g. Unity-addons.
after all, I wasn’t trying to model realistic plants, but rather something organic, bizarre and alien, yet believable.
the first tests were aimed at the reproduction of some well-known fractals, to make sure I got everything correct in my L-System.
after that I started to experiment with different types of plant-like patterns.
followed by the development of different shading techniques to achieve an organic and interesting look.
and even weirder …
working at Projektil in Zurich at the time, these experiments led to an interactive media-installation coined Neophyt, which was shown at the Lethargy Festival 2014.
it was basically a high-striker you would see at Oktoberfest or the like. you hit a small platform with a hammer.
the harder the hit, the higher the score, perfect for drunk people 🙂
we replaced the analog components with an accelerometer-based sensor I built to measure the impact-force, the hammer was real.
based on both the impact-force and some degree of randomness, a plant would be created.
the creation of the rules for the structure of this plant was quite time-consuming, since you’re facing an inverse problem.
you can’t just start with the end-product in mind, but rather have to capture the growth pattern that will eventually create it.
the higher the force the more complex and evolved the plant generated would be.
bigger, higher branching-depths, more sub-materials etc.
on a large brick chimney we projected the resulting organisms, let them grow and decay again.
the decay was modelled to achieve the look and feel of it “crystallizing” and then breaking apart.
this was done using an OpenCL-based particle simulation and some fancy GLSL geometry shaders.
we also projected the achieved score in vertical letters and combined everything with cheap video-animations.
I voted against additional video-layers, since I’m a purist and wanted to focus on great looking plants.
the event was quite stressful for me and my dog, but in the end was worth it.
here is the documentation video by Projektil:
hope you like it,