My recent myriad of experiments with reaction diffusion models has coalesced into a single Stage3D based Flex application, ReDiLab (for Reaction Diffusion Laboratory).
All of my previous efforts have only handled a single reaction diffusion model, with ReDiLab, I've created a new set of classes that implement a simple interface, IReDiLabModel. These classes return the AGAL fragment shader code, the parameters the application requires to power it and a vector of presets.
I've got all my existing reaction diffusion models plugged in, Belousov-Zhabotinsky, Gray Scott and Willamowski–Rössler. I've also ported Ready's version of FitzHugh-Nagumo to AGAL and included that.
Some of the results have been unexpected, I got this odd pulsating tree rings effect while tinkering with the FitzHugh-Nagumo model (this is rendered out at 1.5 x normal speed):
All the models have some interesting presets. If you stumble any great looking sets of parameters, add them as a comment to this post and I'll add them to the next release.
The odd flickering and checkerboard aliasing issues are all resolved (thanks to mipmapping) apart from in 'full screen' where this is some aliasing (but not always). It also looks like Chrome has an issue rendering Stage3D full screen.
I've kept in the colour-to-species switch and added a little contrast slider to the post process render. Colour remapping and contrast adjustment are both done in AGAL.
As fond as I am of my SoftSkin, it's a lot of user interface furniture, so it had to go. ReDiLab uses a tweaked version of the Flex Graphite skin.
What is missing is the ability to vary parameters across space using gradients or other bitmap sources. This is on my to-do list along with the ability to power the application by URL parameters and a whole lot more.
However, with the recent great news about AS Workers now working under Chrome, my reaction diffusion work may take a back burner while I revisit some particle physics using AS Workers.
ReDiLab lives here and, as always, the source code lives here.
Add a comment