Quartz ist die 2D- und 3D-Grafikbibliothek des Apple-Betriebssystems macOS. Aufbauend auf dem plattformübergreifenden PDF-Standard (Portable Document Format) kann Quartz 2D hochwertige Texte und Grafiken mit Kantenglättung anzeigen und ausdrucken und bietet Unterstützung für OpenType-, PostScript- und TrueType-Zeichensätze.
Komponenten
Quartz besteht aus den folgenden Bausteinen:
- Quartz 2D: Eine Grafikbibliothek, die zur Anzeige zweidimensionaler Elemente (Raster- und Vektorgrafik inkl. Text) verwendet wird. Dabei werden feine Strukturen mit Hilfe von Antialiasing und Subpixel-Renderings dargestellt.
- OpenGL: Programmierschnittstelle für dreidimensionale Grafiken
- QuickTime: Multimedia-Architektur (z. B. Video- und Audio-Decodierung und -Ausgabe)
- Quartz Compositor: Fenstersystem
Ab Mac OS X 10.2 „Jaguar“ wurde Quartz Compositor mit Quartz Extreme erweitert. Quartz Extreme benutzt OpenGL genauso wie eine normale Applikation und behandelt den Desktop wie eine 3D-Szene. Dadurch kann die Grafikkarte zur Berechnung der Effekte (wie Schatten oder Animationen) verwendet werden, was den Hauptprozessor entlastet.
Vergleichbare Entwicklungen für andere Betriebssysteme
Microsoft hat eine ähnliche Technik für Windows Vista entwickelt, die Windows Presentation Foundation.
Unter Linux sind Xgl und AIGLX zusammen mit einem Composition-Manager wie Enlightenment e17 oder Compiz mit Quartz Extreme vergleichbar.
Literatur
- David Gelphman, Bunny Laden: Programming with Quartz: 2D and PDF Graphics in Mac OS X. Morgan Kaufmann, 2006, ISBN 0-12-369473-6.
- R. Sc. Thompson: Quartz 2D Graphics for Mac OS X Developers: Introduction to Mac OS X Graphics. Addison-Wesley Longman, 2006, ISBN 0-321-33663-1.
Weblinks
- Überblick der Quartz-Architektur für Entwickler. (Memento vom 25. September 2004 im Internet Archive) (englisch)
- Mike Paquette: Pixar’s Porter-Duff Composition used in Quartz. (englisch)
- Mike Paquette: Why Apple didn’t use the X-Window System. developers.slashdot.org (englisch)
- Peter Graffagnino: OpenGL and Quartz Extreme” (PDF; 3,52 MB; 26 Seiten) linuxgraphicsres.googlecode.com (englisch)