Adaptive Tiling Remake

Following a request for the Adaptive Tiling composition mentioned in a previous post from 2012, I spend a fruitless hour or so trying to track down the file. So I decided to try and recreate the setup, based on an iterative Core Image Filter.

It’s a long time since I did any Quartz Composer work, and I can’t remember exactly how I did it last time, so I don’t know if the remade version is as efficient as the original, but it does seem to work.

Here’s the Dropbox link to the file.

As usual, you’re welcome to do whatever you want with it, but some form of credit would be nice if you use it as part of your own work (especially if it’s used commercially). Drop me a message and let me know what you did with it, if you do find it useful.

This composition uses a builtin camera, but could easily to adapted into a plugin for VDMX or other realtime video applications.


Archived Quartz Composer Files

As you may have guessed, I’ve not been doing much in the way of Quartz Composer-related work for quite some time.

I’ve been getting a few comments about the Box.net widget in the right sidebar of this blog not working. Sorry for not replying earlier. I’m realistically, not going to get time in the near future to look into the problem, so I thought it would be best just to bundle together all the content that used to be downloadable from the widget, and make the whole thing available via Dropbox. So, here it is. No guarantees of any sort that any of this stuff will work in more recent QC versions.



Voronoi 2

Just a quick test of a simple voronoi pattern generator. Nothing ground-breaking, just thought I’d try it in QC.

Incidentally, I’ve messed around with a voronoi shader in the past. This is a different method, and is a bit of a cheat. Essentially, all you do is create a load of cones, at random positions, pointy end pointing out at you. the lines where the cones intersect define the edge of each cell. In this case, I’ve mapped a gradient onto the cone (which is actually a cylinder primitive, with the top diameter set to 0), for tonal variation.

The only problem with this method is that the perspective effect distorts the pattern.


Adaptive Tiling

It’s a lonnnnnnng time since I did anything in QC, so I thought I’d try and keep my hand in a bit, by doing something really simple.

As usual, it didn’t turn out to do quite as simple as I thought it would, in the end, but it looks very simple ;)

It’s basically just a 2D tiling effect, but works iteratively, so brighter areas of the image are subdivided into small tiles.

Uses a JavaScript loop inside a Core Image Kernel. I don’t know what the latest state-of-play is with JavaScript in CIFilter patches. There used to be memory leaks. Dunno if this is still the case.



It turns out the internal coordinate-systems of some of the Quartz Composer geometric primitive patches are orientated in different directions. These two primitives have the X and Y coordinates of their vertices scales along the Z axis in model-space using a very simple GLSL Vertex Shader, but one appears to be rotated at 90deg. to the other along the X-axis. Odd.


Toneburst In The Wild

I’ve been doing some work over the past year or so for Nicky Smith, AKA wierdcore, who, among many other things, is in charge of visuals for Aphex Twin’s live shows. Here’s some examples of some of my QC work in use.

Note: not all the QC work in these clips with carried out by me. You might recognise a few things from earlier posts here though.


Gray-Scott Reaction-Diffusion Test

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.


October 2015
« Aug    


Blog Stats

  • 437,396 hits


Get every new post delivered to your Inbox.

Join 41 other followers