Mac OS X - Graphics & Animation

Mac OS X includes an integrated stack of graphics technologies that provide the foundation for building engaging visual experiences. Specialized frameworks — which handle 2D and 3D graphics, animations and image effects — provide everything from graphics primitives to advanced visual environments. Use these rich APIs to give your application amazing graphics capabilities.

Core Animation

Core Animation

Core Animation lets you build dynamic, animated user experiences using an easy programming model based on compositing independent layers of media. Animations are created by defining key steps along a path, describing how the layers of text, images, video, and OpenGL graphics will interact. The Core Animation framework processes the definitions at runtime, smoothly moving the visual elements from one step to the next — filling in the interim frames of animation automatically. The result is fluid animation seamlessly integrating all the layers of media.

enlarge

View examples of Mac OS X using Core Animation.

Many of the features in Mac OS X, such as the Dock, Time Machine and QuickTime Player, rely on Core Animation to perform their elegant user interface transitions. Using Core Animation, you too can create cinematic user experiences by smoothly moving interface elements around the screen, fading them in and out, and adding effects with just a few lines of code.

Core Image

Core Image

Core Image is, simply put, “image effects made easy.” It lets you easily create high-performance image processing solutions that automatically take advantage of modern GPU hardware. Core Image uses a floating-point pixel processing pipeline that’s great for working with high bit-depth images, and includes over 100 built-in filter effects, such as color effects, distortions, and transitions. You can even extend Core Image by writing your own custom Image Units to deliver unique functionality.

Quartz Composer

Quartz Composer

Quartz Composer is a visual programming environment, included with Xcode, that allows you to quickly create sophisticated motion graphics compositions without having to write code. By simply connecting together building blocks of graphics processing functionality, you can rapidly design dynamic visualizations that, for example, combine images and real-time information over video feeds. After perfecting your composition, you can use Cocoa bindings to embed it into your application. Quartz Composer is also a great way to develop Image Units and OpenCL kernels.

Quartz

Quartz provides essential graphics services for applications in two integral parts: the Quartz 2D graphics API and the Quartz Extreme windowing environment. Quartz 2D’s rich graphics capabilities are based on the Portable Document Format (PDF) and provides professional-strength 2D graphics features such as Bezier curves, transformations and gradients. Acting as an advanced “visual mixing board,” Quartz Extreme manages an application’s onscreen presentation and delivers responsive, GPU-accelerated window compositing with full support for transparency.

Open GL

OpenGL

OpenGL is the foundation for hardware-accelerated graphics in Mac OS X and accelerates Core Animation, Core Image, and Quartz Extreme. It is also the industry standard graphics API for creating a broad range of 3D applications, including games, animation software and medical imaging solutions. OpenGL in Mac OS X is built on an efficient multithreaded architecture that supports runtime optimizations, resource virtualization, and graphics processors from ATI, Intel, and NVIDIA.

Quicktime for Multimedia

QuickTime

QuickTime and the QTKit framework provide powerful services for manipulating time-based media on Mac OS X, allowing you to add audio and video playback, capture, and encoding capabilities to your application. QuickTime not only delivers stunning video quality at remarkably low data rates using the standards-based H.264 codec, it also supports many other major file formats for audio and video as well.