Quartz Composer is a node graph system provided as part of the Xcode development environment in macOS for processing and rendering graphical data.
[1] Quartz Composer uses OpenGL (including GLSL), OpenCL (only in Mac OS X Snow Leopard and later), OpenAL, Core Image, Core Video, JavaScript and other technologies to create an API and a developer tool around a simple visual programming paradigm.
Starting in macOS Catalina, the Quartz Composer framework has been deprecated, although it is still present for compatibility.
Turning off unused layers often results in better performance, since fewer upstream patches need to be evaluated.
The Quartz Composer Editor allows the user to save a "flattened" copy (with the virtual patches fully expanded inside), for easy distribution.
It became possible to transmit data and synchronize over a network interface and it also added support for Open Sound Control transmission and reception.
It was possible to develop custom patch plugins for Version 2.0, but the API was undocumented and private and was never supported by Apple.
In Quartz Composer 3.0, the connections between patches change color to indicate conversions that are taking place.
Compositions are Binary Property Lists (though XML versions are also supported) with a filename extension .qtz and a com.apple.quartz-composer-composition UTI.
Many image formats are supported, including JPEG, JPEG2000, GIF, PNG, TIFF, TGA, OpenEXR, BMP, ICO, PDF, PICT, ICNS and some raw digital camera types.
This means that Quartz Composer will keep vector images as vectors when cropping, scaling, rotating, or translating which allows it to work with very large logical image dimensions without consuming large amounts of memory or processing time.
Protocols provide a template of required and optional inputs and outputs to qualify conforming compositions for various purposes.
This feature allows the user to compare inputs, rendered output and graph appearance of any two compositions.
Pierre-Olivier Latour originally developed the predecessor to Quartz Composer under the name PixelShox Studio.