Quartz Composer is a tool included with AppleComputer's ExCode development tools. It is a VisualProgramming system (familiar to users of InterfaceBuilder) for exploring the Quartz graphics technologies and building prototypes that combine these technologies in various ways. The resulting .qtz programs can be dropped directly into the "Library/Screen Savers/" or used as a sound visualization in iTunes, for example.
Every project has a workspace for laying out and connecting objects, and a live Viewer for showing the results of the current program as an animation or graphical result.
Available objects (or "patches") are categorized:
- Controllers: mouse and keyboard input, MIDI, random numbers, interpolation, etc. for time-varying data
- Environment: environmental effects, such as fog and lighting
- Generator and Source: data sources for colors, gradients, images, movies, audio, text, RSS feeds, etc.
- Modifier: text filters, color conversion, etc.
- Numeric: math expressions, conditionals, etc.
- Renderer: OpenGl objects like the teapot, spheres, etc.
- Tool: wrappers for various technologies, such as CoreImage? filters, JavaScript, environment queries, timers, etc.
There are also CoreImage
? filters for operating on image data:
- Blur: various types of blurs
- Color Adjust: gamma correction, etc.
- Color Effect: posterize, etc.
- Composite Operator: blend images in various ways
- Distortion Effect: bump, lenses, vortex, etc.
- Generator: programmatically defined image data, such as solid fills, halos and stripes
- Geometry adjustment: affine transform, crop, etc.
- Gradients
- Halftone effect: dot screen, etc.
- Sharpen
- Stylize: artistic effects, like blend with mask, pixellate, pointillize, spotlight, etc.
- Tile Effect: tile an image onto another image
- Transition: time-based effect, like dissolve, swipe, etc.
Each object can have input and output parameters which can be either set to constants or connected to other objects.
You can organize subsystems into "macro patches". The workspace includes a browser which shows the hierarchy of macros, a palette of predefined patches (each with full documentation) and a workspace showing the structure of the current macro or root application.
Examples of the kinds of effects you can create with Quartz Composer: