animated gif -remixes

18 05 2012

This post is about quartz composer and animated gifs. Here is the story:

1. couple of days ago i saw this post. The author says: “But this seems to be a bit harder as QC doesn’t support Animated GIFs either.” i started to think about that but after i needed to do other stuff. But fortunately i was not alone with this problem.

2. that afternoon lov from coge, wrote me, he had a strict idea about how to solve this problem and he made a small presentation. Let me paste the video here. (and he used my gifs-thanks:)

3. after that i was thinking about the frames. Because animated gif contains frames, but these frames are more like images with time delay. Here you find more information about gif.

So my question was (and lov gave me the answer to that question as well): is it possible to import gif files to quartz composer, but as a sequence of frames (structure)? Here is the default solution:

Pretty simple, and from this point we can animate gifs with linear speed or random or whatever. But there is a small ,tiny problem. If we would like to use the patch for more complex projects, we need to be able to load files without the “image loader”, because the image loader will store the file inside the composition and there is no real input field option for the image (no input splitter for example). So i was looking for other solution and i found it.

this patch is using some commercial, third party components, thats the reason why iam not going to upload it. But on the image you can see everything.

This gave me an impulse to sit and remix some of my gif animations. Result is here. Iam really up to make a pure, animated gif based visual performance. Iam so excited:)

from QuartzComposer to Pixelmator (short novel)

2 04 2012

Requested tutorial: how to use qtz files in pixelmator and export as a high resolution image.


(custom dither plugin made in qc and rendered in pixelmator, original size is 4000×3000 pixels)


step 1.: make a composition

-first we need to understand something, pixelmator will use the ‘image filter’ protocol. The image filter has a straight format, if we open quartz composer and we choose ‘new from template’ then we can choose the ‘image filter’. Lets do it and lets make some observations. There are two required nodes image in and image out. If we try to connect something to the input node we will loose the protocol and the same happens if we try to put any renderer, on this level (sprite, cube, particle etc.). If we want to use renderers we need to use a little trick. But before that lets take a look inside in the macro patch (in the default project called ‘process the image’. The process is going inside but still there is no renderers in the sample file.

Lets put a ‘render in image’ now, and inside in the ‘render in image’ lets place a cube (i like cubes), but first a clear (this is not a glitch tutorial sorry). I want to go further and i will use a lightning patch as well. Lets use some of the parameters, i make splitter for the cube size, for the cube color and for the light positions as well.


now we have to connect our ‘render in image’ and give a fix size as well. For the size i would say lets use an ‘image dimension’ connected to the incoming image. The sample image what we have now is not a high resolution one (640×480) so our cube not will be so smooth, but doesnt matter right now. In several cases if we would like to work with custom aspects, then its better to use a ‘crop’ patch.

lets make the final tuning at the highest level. and setup the parameters minimum and maximum values.

and save it somewhere. As long we cannot save directly to the folder what pixelmator (and isadora as well) is using we have to copy the qtz file manually.

step 2.: copying and starting with pixelmator.

our destination folder is the /System/Library/Compositions , lets copy the composition there. If there is another cube.qtz dont worry we just need to rename our project .

Lets start our pixelmator, and make a new file then go to filter-quartz composer and somewhere down we can find our quartz composer file-filter.


some more additions:

how to use categories for our filter in quartz composer: edit- ‘edit filter conformance’ and use a subcategory. this option is sometimes really handy.

if something wasn’t that clear, please write a comment and i will try to be more clear.


Birds and others

24 01 2012


Half year ago i started to work with broken 3d forms and artifacts. I used many different parameters for the animation, and i got a random result, it was like a bird. After half year when a friend of mine mentioned this image i reworked that project and i started to generate directly birds. The animated versions you can see on my “anigif” site.


and a reindeer…

and a dead dog (not so optimistic closing image, sorry for that)




all made by triangles

12 09 2011

Iam preparing for an exhibition in Hungary at the end of September. I will show some digital prints and animated gifs. Basically its just a couple of triangles generating an artifact. In a certain setup this artifact is totally controllable and i was able to play with some more parameters. The result is more like an optical vision, but the artifact is enough deeply present to break the perfection of these images.

All are animated gifs, please click them:


and here is a video:

what a difference- with generative content

6 05 2011

I just updated my ‘what a difference’ project with some generative content and more random values.

At the final feedback i put a simple transform to push the translation horizontally.

See the demo video here:

easy data-bending with quartz composer

27 03 2011

In this tutorial i will show how to make a small patch for easy data-bending.

The trick is very simple. I open the file in the built-in text editor of osx, copy the text to quartz composer , change several numbers and save the file with a new name.

The file type we want to use is an .obj file (3d object) – if you don’t have it just download from the net.

Why an .obj file? because the structure of the file is really easy, not disturbing captions like in the collada format, what i’ve tried earlier.

v  -23.041946 2.132653 4.222926

v  -23.768387 2.117765 3.861515

v  -23.290339 1.885496 3.681014

v  -23.290339 2.763085 3.681014

and more variations (i think these are the coordinates of the vertices).

So lets open the .obj file in the text editor and copy the text (all). Then in quartz composer lets put a ´string replace´node 2 or 3 times or as many time as we wish to modify the values. At the end lets hook a “kineme text file write” from the´kineme file tools´. Now lets paste the text to the first `string replace´string input.  If we take a look into the coordinates of the obj file we’ll find this: , so my concept was to replace first all the 1 to 2 and then change all the .0 to .2. This is just one variation but it works well. I’ve tested with a sea-star, and i got a really nice abstract form. More variations are possible of course, its a good opportunity for further experiment.

For those who don’t know how to open the (data-bended) `.obj´file, there are two options:
Kineme 3d this is not free, but really cheap and you have the option to use some post process things like the ´Kineme 3D Object Blend´to make a nice morph between the original model and the modified one.
V002 Model Loader (from Vade), this one is free and has a lot of goodies (wireframe, texture options and more)

I would put one of those in a track ball macro and after in a lighting macro and done.

So the question is this: is it possible to use this solution with other file formats?

the answer: Yes, from the bitmap formats there is the ´.raw´file. The problem with the non raw based formats, there is this header thing, if we modify it, the file will be dead. The raw format is without header. Anytime i tried to do it with any other formats, quartz composer did something with all the text and i was unable to re-open the file.

so i randomly modified the letter “o” to the letter “p” in my raw file. After i reloaded in photoshop.

i would share two important links at this point:
1. the ´Vernacular file formats´
2. Stallio´s tutorial

happy bending!!!


11 12 2010

Yesterday i found randomly this software called pixelmator. Iam not a big fun of photo editor softwares, i mean i use thenif i really need t, but this one has a couple of advantages. First of all it is compatible with quartz composer, lets say with the ´image unites´ and ´qtz´ files formatted in the right way. Thats an interesting point for me. In the last couple of months i produced a lot of digital pictures with quartz composer, now i know how to export a higher resolution image, but this solution is even better, for example the possibility to select just a part of the picture and to modify it.


let me explain how it worked for me:

1. first lets create a whatever you want filter,it can be a simple process or you can involve a more complex tool. The most important thing is to have an image input and an image output. So for this case it is better to use the ´image filter´ template when you start QC. You will see the two required nodes (image input, image output). If you use something complex (for example 3d object) the you need to put the renderer in an ´Render in Image´ node.

2. if everything is fine, and both of the required image nodes connected, then you will see that idiot yellow flower as a test picture within the process of your filter. If you want to define the category of your filter, then go to ´editor´ menu in QC and then choose the ´edit protocol conformance´.Save your composition somewhere, doesnt matter where, because you have to move anyway. The destination folder is just accessible by copying files, no direct save.

3. The destination folder is in your ´system-library-composition´. Copy the stuff there, and start the ´pixelmator´. The filter will be on the right place.

4. if you have something what is moving, but you want to use a non moving filter, then the solution should be to make an external timebase.

5. All parameter can be published, just as in VDMX.

here are my first trials (both are from PXN_filter stuff):

other advantages: cheaper then photoshop, and as i´ve seen with almost the same power. I like the style of the interface. And a lot of new file formats.

and many more, but i would like to talk about two very (glitch) friendly file formats:

1. ´WebP´ image is a smaller file but working very well with databending, the result is a kind of datamoshed image. Good tolerance.

this picture is a photo with extreme strong colors, exported as ´WebP´, made a strong databend, then read back to pixelmator, and exported as a tiff.

2. DCX file format, what is  a ZSoft (?) IPM PC (??) multi-page Paintbrush image. Interesting, because after a light databend it looses a part of the background.

thats it.




Video Noizz-a very useless tutorial

20 08 2010

Its not a normal tutorial, not producing any usefull thing and maybe sometimes the result is unexpected, but a good basic feeback video noizz, from PXN.

I normally check my blog daily, and  i can see whitch was the search engine terms what the people used to find my site. In the last time i found this one: quartz composer video noise generator, 3 or 4 times. So i decided to share my solution here.

We are going to use a feedback, some special blend modes, and over-adjusted opacity, and basicaly thats it.

The only one special plugin what we need is the kineme GL tools, its a free collection of very handy  plugins for QC (10.5,10.6). You can donwload from the kieneme site.

After playing  bit with the new plugins, we have to search for Kineme GL Logic Op. Its a macro patch so will render out what is inside in the macro patch. But as a blend mode it needs something under, i mean an under layer, so we have to make a bit more complex thing.

We place a sprite (with the right size) in the Logic op and the logic op in a render in image. We put another sprite inside in the render in image as well, this will be the under layer as i mentioned earlier, and of course a clear under. So this is the render in image.

The next step should be to publish all the two sprites image input (the one in the kineme GL op mode and the other in render in image). So both has to be published outside render in image. And a practical thing to publish the input of ‘gl op mode’ (the mode one).

Now we need some other nodes as Core Image Accumulator (as the grandmaster of feedback), ClOpacity (to control the feedback), and an image Texturing Properties (to transform a bit the feedback). And a sprite at the end, and of course a video source (i used video input).

Lets make the connections. And its done, well the test blendmode can be ‘Xor’. Noizzee, but what about some nice lines, instead of noizz. Thats why we need the ImageTexturinProperties, for example lets put the ‘MatrixTranslationX’ value of the Image Texturin Properties, higher then one. We can play with the scaling values and with the rotation as well.

Final adjustment:

If the result is to much flashy, then we can get back a bit, switching ON the ‘Disable Color correction’ option of the ‘render in image’ (alt+2).

Lets play with the opacity, blendmodes and maybe some more nodes we can connect to the output of the ‘core image accumulator’ , but thats easy to try.

I tested this composition as an effect in VDMX and works perfectly, the speed is really ok, and i used last weekend during my performance at the Satta Outside festival. I will write the festival review soon.

meanatime i wrote this tutorial i got this random QC interface glitch, so i will share it. Dont ask how:)

NI-GLE Curved Tube

9 04 2010

GLE Curved Tube is a bezier curved tube with control points and many-many parameters. Easy to use, working well with iteration. I just made a quick test, but iam pretty sure  that i have more rounds with this niceness.

the per pixel lighting  mode let you emulate the lighting, just need to drop in a lighting patch and viola.

NI aka Noise Industries providing the FxFactory, mostly QC based filters for commercial video editor and motion graphic software .

This one is also sweet:

source: *

*this is not a commercial, just i like the tool:) thanks Vade for the info.

sensitive vectors

28 02 2010