Test of Gray-Scott reaction-diffusion pattern generator, implemented in a Core Image Filter kernel in Quartz Composer.
This version is much more controllable than my previous RD experiments, but still capable of producing some interesting patterns.
I’m planning to add some more performance-orientated controls for warping and realtime editing, also for seeding the effect with live input image and/or adding masks so that different patterns can be generated in different areas. None of which is particularly original (there are examples or similar setups all over YouTube), but I’ve not seem it done in QC before.
These kinds of pattern are very neat. Fractal turing patterns are based on RD and about as beautiful as they can be. I did some experiments with a RD shader myself and I think the results are actually quite nice. http://www.plane9.com/scenes/143 and http://www.plane9.com/scenes/131 are two of them. The full shader can be seen in the editor if you get the program. If you want to convert them to QC your welcome to do so.
Hi Joakim,
Thanks very much for the feedback π
I’ll have a proper look at your site tomorrow. Looks intriguing though.
a|x
Those visualisers look cool Joakim. I may take you up on the offer to translate them to QC. I notice there’s a Turing pattern visualiser too
http://www.plane9.com/scenes/119
Nice stuff. Shame I can’t run them on my Mac π¦
a|x
Thanks! The program in itself is like a simple version of QC for us PC users. π
The turing pattern scene doesn’t run in a shader so it’s not as fast as the other ones. It didn’t seem trivial to convert it to a shader either. The two above scenes are quite close though. The real deal is still nicer though. Its based on http://wwww.openprocessing.org/visuals/?visualID=17043.
Did you ever see Psonice’s “lifeform”? That’s kinda a low-rent reaction diffusion shader. I’ve had some stabs at it too, but not as artful as above (never really researched it properly, just stumbled on stuff.)
Hi George,
no I didn’t ever try lifeform (though, tangentially, I rediscovered Future Sound of London’s ‘Lifeforms’ album recently). There seems to be lots of potential with these formulae. The video above doesn’t even scratch the surface of the kind of patterns you can generate. It would be interesting to try and extend the effect into the 3rd dimension, too, in some kind of raycasting or marching-cubes based setup.
a|x
I agree…that would be really awesome in 3d. You may like to look at the reaction diffusion test in the Cinder package; there’s some glsl shader code in there. I’ve used that as a basis for something that was pretty nice.
I think psonice’s qtz is reaction diffusion by happy accident of QC color correction weirding stuff out, acting as a subtle difference in his feedback loop (to my memory).
I’m not sure how you’re doing it, but one thing you may get a kick out of when doing this kind of thing doing a sobel, then gaussian, then sobel, then gaussian, etc., because it does this effect of making extra ridges of outlines; mitochondrial looking basically… you may be doing that in some way now for all I know! I’ll usually do it greyscale then color map it.
I really like the look of the vids!
It’s essentially a standard Gray-Scott Reaction-Diffusion simulation, but I’ve added some more adjustable parameters to allow for more realtime control, including a couple that probably make no sense in terms of the simulation of chemical reactions. I’m intrigued by your sobel>blur idea. I’ve not tried that. Maybe I’ll give it a go sometime, if I get a chance. Unfortunately, I’m getting less time to work on QC-related projects at the moment, but I’m eager to keep working on little projects, so I don’t forget everything.
Incidentally, have you tried Lion yet? Not encouraging you to break your NDA if so, just wondering. I wonder if there’s anything major QC-wise to look forward to.
Oh shoot, I didn’t see this, and now the NDA stuff sorta doesn’t matter! I think you’ve probably seen some responses @ kineme. The main new things that I find interesting are a face tracker (this is sorta already accomplished by CVTools though it makes stuff easier), an editor search function (ehh on usefulness though), the ability to see the hex values of patches and ports (this is a hidden setting though). Most of the other stuff is the same or broken in some cases. I had some real issues getting an install to “take” for some reason, and had to do it three times to get it going functionally. Installing on top of SL was doing weird stuff on my install so I had to do it onto a totally fresh partition, while booted in SL.