
Mac OS X is built around a powerful, integrated stack of graphics
technologies that provide a solid foundation for developers to create
great desktop, web, and media applications. The Mac OS X graphic system is composed of separate
subsystems that handle windowing, 2D and 3D graphics, animation, image manipulation, and
multimedia. These subsystems synergize with one another to provide applications
with graphics capabilities that far exceed what is possible on other operating systems.
On the Desktop
On the desktop, Mac OS X integrates Quartz, OpenGL, Core Animation, Core Image, and QuickTime, plus other technologies, providing a rich set of graphics capabilities and APIs to application developers.
Quartz is the powerful graphics technology family that forms the foundation of
the 2D imaging model for Mac OS X. Quartz offers two integral parts, the
sophisticated Quartz 2D drawing engine and the Quartz Compositor advanced
windowing environment. Quartz's feature-rich drawing engine leverages the
Portable Document Format (PDF) drawing model and offers Mac OS X applications
professional-strength drawing features and performance. Quartz Compositor manages the onscreen
presentation of Quartz 2D, OpenGL, QuickTime, and other content. Quartz
Compositor acts as a "visual mixing board" to composite each application's
graphic content into the Mac OS X look and feel.
OpenGL is the bedrock of Mac OS X graphics. It is "the" industry
standard 3D graphics API for creating powerful entertainment,
visualization, and content creation software. OpenGL derives its power
from a high-performance graphics Hardware Abstraction Layer (HAL).
OpenGL takes full advantage of the growing power and sophistication of
Graphics Processing Units (GPUs). Mac OS X features a highly optimized,
multicore enhanced, 64-bit implementation of OpenGL and the OpenGL
Shading Language&madash;far more advanced than what is typically found
on other UNIX-based systems.
Core Animation handles the layout and rendering of animations, from
simple to complex. Core Animation is a layer-based animation framework
that provides an easy programming model for developers. Layers are the
building blocks that make possible filter effects, transparency, and
automatic transitions between states. Core Animation supports multiple
media types, including text, 2D graphics, OpenGL, and video. Core
Animation is GPU accelerated and multicore enhanced, and you can start
using it in your application to deliver a great user experience.
Core Image is, simply put, "image effects made easy." With Core
Image, developers can easily create real-time capable image processing
solutions that automatically take full advantage of the latest GPU or
multcore CPUs. Core Image performs its processing using 32-bit
floating-point math, making it a great choice performing multiple filter
operations on high-precision image data. It includes over 125 built-in
filter effects, such as blur/sharpen, color effects, distortions, and
more. Although most tasks can be performed by combing the built-in
filters, developers can create Image Units which encapsulate their own
custom filter techniques. With its power and flexibility, Core Image
forms the ideal image processing core for your graphics application.
Time-based graphics on Mac OS X are provided by QuickTime 7, which
enables developers to manipulate, enhance, and store video, sound,
animation, graphics, text and music. QuickTime 7 not only delivers stunning video quality at remarkably low data rates, it supports every major file format for images and video, and delivers sound quality rivaling that of
uncompressed CD audio. And for web streaming, QuickTime gets the job done in real-time.
Developers can take advantage of APIs that make it easier to access
the power behind these core technologies. The Image Kit framework wraps
the power of Core Image and other technologies, making it easier to add
stunning features to your app. Image Kit includes a robust image view
that supports common image editing operations, including crop, rotate,
scale, and more, as well as filter effects, slideshow and a picture
taker. QT Kit is a 64-bit Cocoa API for accessing QuickTime. It provides
easy application integration, Core Animation support, and an API for
capturing video directly from devices. Quartz Composer lets you build
stunning motion graphics, data visualizations, and effects using an
approachable visual programming model.
The Web
The Apple Web platform includes a powerful HTML engine, the Web Kit framework, layered over graphics technologies that include Quartz 2D and QuickTime on Mac OS X, Windows, and iPhone. These superior technologies have made Mac OS X a popular platform for web developers. Mac OS X also includes an expansive selection of tools for content creation, programming, and productivity enhancement.
Hybrid applications combine Cocoa with web technology so you can bring a richer experience to web users, and also incorporate web pages in a desktop application. Your application should take advantage of both worlds. For example, NetNewsWire streamlines RSS feeds into an easy-to-use Mac interface. Pyro brings the browser-based Campfire chat program to the Desktop.
Applications on the Web are built using Web 2.0. These include websites with participation, such as Wikipedia, and websites such as Google Maps that feel like desktop applications. .Mac Mail uses Web 2.0 techniques to present a browser-based interface with a look and feel similar to that of the Mail application on Mac OS X.
Make Mac OS X your platform for building a rich Web 2.0 website, adding "The Web" to your desktop application, creating new web development tools, and developing great web applications for iPhone.
Media
The Apple media platform is built on H.264 — "the" media standard — and QuickTime. H.264 is designed from the ground up to scale, which means you get great throughput on Full HD, SD, and 3G platforms. It is used for real-time video chat in iChat AV; iTunes movies and TV shows; and the delivery of YouTube videos to Apple TV. H.264 brings fast encoding speed, QTKit integration (capture and export) and full-screen playback.
The combination of QuickTime and AJAX is a perfect example of Web technology embracing media. This combination enables you to deliver rich media control via JavaScript. QuickTime is built to work with web standards, and includes expanded DOM event support and HTML 5 compatibility; cross browser support for Safari, Internet Explorer, Firefox, and Opera; and cross-platform support.
iPhone is the newest media platform, and it includes built-in support for high-quality playback via H.264 and QuickTime. As a developer, you need to remember that media on iPhone can be sync'd via iTunes or streamed via Safari. H.264 on iPhone supports video with audio via WiFi and EDGE. In addition, QuickTime includes support for building iPhone-compatible streams, so you can provide reference movies in multiple formats that best match the device requesting the stream.
Ready, Go!
It's time to think beyond traditional APIs and start developing for the greater ecosystem of devices, sites, and content. The desktop, web, and media platforms are all part of the complete user experience. Make your program fast, efficient, and memorable with rich media, whether you are bringing your web application to desktop users or reaching the iPhone with Web 2.0 applications.
For news, updates and links to other ADC content related to Graphics & Imaging on Mac OS X,
return to the Graphics & Imaging topic page.
Updated: 2008-02-04
|