Real-time Video Manipulation in Quartz Composer


Dates: Tuesdays & Thursdays, January 10, 12, 17, 19
Times: 6pm – 9pm
Course Length: 12 hours
Cost: $20/instruction hour, $240 total, $216 for GAFFTA Members
Location: GAFFTA, 998 Market Street, San Francisco, CA 94102



Module One: Basics of Quartz Composer

Quartz Composer (QC) is a patching environment (similar to Max/MSP, PD, vvvv, etc.) available for free on Mac OS. It is primarily geared toward real-time graphics effects. We’ll go over the conceptual fundamentals of QC, a few workflow tips (keyboard shortcuts), and enough of the patches which come with QC to start playing with 2D and 3D graphics.

Module Two: Integration with other applications and the outside world

We’ll learn how to pipe video between applications using Syphon. We’ll look at QC’s capabilities for taking input from MIDI, OSC, Kinect, etc.

Module Three: Techniques for recursion

We’ll learn how to make “higher-level” patches in QC. We’ll use the Queue and Iterator patches to produce video delay effects. We’ll use the Accumulator patch to produce feedback effects.

Module Four: Introduction to GPU Programming

Programming the Graphics Processing Unit (GPU) — a.k.a. the video card — is increasingly becoming the only way to meet the real-time high-resolution demands at the cutting edge of computer video art. QC already exploits the GPU under the hood, but in this section we’ll program the GPU directly.

Quartz Composer is a visual programming environment (like Max/MSP, PD, VVVV, etc.) which comes with Mac OS X. It is designed for creating real-time, interactive video and graphics. It is particularly useful for quickly prototyping and experimenting with interactive video art installations and performances.

In this workshop, we will learn to create and manipulate 2D and 3D graphics, interact with hardware ranging from webcams to the Kinect to MIDI hardware, and move video through the Mac OS system for integration with VJing, gaming, and other applications. We will also build a conceptual foundation for working with the graphics processor–the video card–which has a different programming model than the sequential model of traditional programming.

Mac OSX is required to run Quartz Composer. No prior programming experience is required for this workshop.

Examples of projects with Quartz Composer:

Datamoshed 3D game manipulating live Quake 3 engine

Custom rainbow delay effect

Quasicrystal rendered in realtime using Core Image

Find more examples on Vimeo.

Quartz Composer is increasingly being used by video artists for live, interactive video performances. It has been used by VJs to accompany
performances by Aphex Twin, Simeon Mobile Disco, etc.

Toby Schachman


Toby Schachman is a programmer and artist. His focus is finding new perspectives in each of these fields and exploring the possibilities that these perspectives reveal. His current project is Totem, a new programming language for the real-time manipulation of shared dreams.

Toby graduated from MIT with a degree in Mathematics with Computer Science and is a Master’s candidate at NYU’s Interactive Telecommunications Program. He lives and works in New York City.