These pages provide a reference for the Quartz Composer, Apple's XcodeTool, (included in the default installation of Applications within the OS X Developer Tools folder, as
of OS X Tiger onwards). Without a doubt, Quartz Composer is one of the most engaging and interesting of developer tools ever created. Employing a visual programming paradigm, it seems to beckon to the kinaesthesic, the playful and the experimental in each and every one of us.
Leap in, Connect Up, See What Happens :-)
The application has been greeted with surprise, amazement and applause from all who did not choose to be dismissive of what might have seemed at a cursory glance to have been little more than an obscure OpenGL patch coding visualization tool.
Even on the briefest of acquaintances, it is obvious how Quartz Composer easily allows for the expression of one's prior graphics programming skills, whilst revealing to users unexpected possibilities and results. For complete novices, the Developer tools example compositions give a thorough and immediately effective 'out of the box' entry into the world of Quartz Composer programming and composing. The same is equally true for the Developer tools Quartz Composer XCode projects, all of which compile and work without a hitch.
Quartz Composer allows for the use of JavaScript, GLSL and Core Image programming. There is, therefore the possibility of transferring Core Image knowledge previously used in building say a Cocoa application into programming a Core Image Filter patch. Since Leopard's release, it has been possible to use Apple's own Custom Patch API to create one's own patches for distribution and incorporation into compositions.
There are Apple's own Quartz Composer documents online. At the time of writing, October 2009, Snow Leopard , Open CL and any Scripting Engine improvements have arrived, Apple's own online documentation for Quartz Composer is still in a state of flux, with a growing number of new and some dead links. They still remain a core source of reference for anyone wishing to programatically exploit , extend or develop within Quartz Composer.
Furthermore, what documentation exists, and indeed, what previously existed, still lacks in depth explanations and descriptions of the way in which individual patches work. This, in part accounts for the growing number of well informed blogs, wiki and forum sites devoted in no small part to the undocumented internals of Quartz Composer. It also accounts for the sometimes welcome serendipitous graphic surprises one can get working with Quartz Composer.
The purpose of this site is to provide a useful, growing, guide to using Quartz Composer, how the application works and how we can extend that application and our resulting compositions.