Mac OS X - Graphics & Animation

Mac OS Xには、興味をかき立てる視覚エクスペリエンスを構築するための基盤を提供する、統合的なグラフィックス技術が搭載されています。2D/3Dグラフィック、アニメーション、画像エフェクトを処理する専用のフレームワークが、グラフィックスプリミティブから高度なビジュアル環境までのすべてを提供します。これらリッチなAPIを使用して、アプリケーションに斬新なグラフィックス機能を実装できます。

Core Animation

Core Animation

Core Animationは、独立したメディアレイヤーを組み合わせていく簡単なプログラミングモデルを使い、ダイナミックかつアニメーションつきのユーザエクスペリエンスを作り上げることを可能にします。アニメーションは、パスに沿ってキーステップを定義し、テキスト、画像、ビデオ、OpenGL グラフィックスのレイヤーがどのように相互作用するかを記述していくことによって作成されます。Core Animationは、各ビジュアル要素をステップから次のステップになめらかに動かしながら(中間のフレームは自動的にアニメートされます)、実行時に定義されたキーステップを処理していきます。その結果、すべてのメディアのレイヤーがシームレスにまとめられ、流れるようなアニメーションとなります。

enlarge

Core Animationを使ったMac OS Xのサンプルを見る

Mac OS Xの多くの機能、例えばDock、Time Machine、QuickTime Playerは、洗練されたユーザインターフェイスのトランジションを実行するのにCore Animationを使用します。Core Animationを使えば、スクリーンのまわりのインターフェイス要素を滑らかに動かし、フェイドイン・フェイドアウトやエフェクトを使った映画のようなユーザエクスペリエンスを数行のコードを加えるだけでつくることができます。

Core Image

Core Image

Core Imageは、シンプルに言えば、「簡単になった画像エフェクト」ということです。現在のGPUハードウェアの能力を自動的に最大限利用するような高性能な画像処理ソリューションも簡単に作成できます。Core Imageは、高いビット深度の画像を処理するのに最適である浮動小数点ピクセルプロセシングパイプラインを使っており、カラーエフェクト、変形、トランジッションなど100以上の内蔵フィルタエフェクトを備えています。自身でカスタムImage Unitsを書けば、Core Imageを拡張し、独特の機能を追加することができます。

Quartz Composer

Quartz Composer

Quartz Composerは、Xcodeに含まれるビジュアルプログラミング環境で、コードを書かなくても、洗練されたモーショングラフィックスのコンポジションをスピーディに作成することができます。グラフィックス処理機能のビルディングブロックをつなぐだけで、例えば、ビデオフィード上で画像やリアルタイムの情報を組み合わせるといったダイナミックな可視化を素早くデザインすることができます。コンポジションを仕上げたら、Cocoaバインディングを使ってアプリケーションに組み込むことができます。Quartz Composer は、Image UnitsとOpenCLカーネルの開発にも最適です。

Quartz

Quartzは、アプリケーションにとって基幹となるグラフィックスサービスを提供します。それは、Quarts 2DグラフィックスAPIとQuartz Extremeウインドウ環境という2つの不可欠な要素です。Quarts 2Dの豊富なグラフィックス機能は、PDF形式(Portable Document Format)に基づいており、例えばベジェ曲線、変形、グラデーションといったプロフェッショナルな2Dグラフィックス機能を提供します。高度な「ビジュアルのミキシングボード」として機能するQuartz Extremeは、アプリケーションのオンスクリーンプレゼンテーションを管理し、透過に完全対応している、GPUを使った高速かつ滑らかなウィンドウ合成処理を提供します。

Open GL

OpenGL

OpenGLは、Mac OS Xのハードウェアアクセラレーション対応グラフィックスの基盤であり、Core Animation、Core Image、Quartz Extremeも高速化します。また、ゲーム、アニメーションソフトウェア、医療用画像ソリューションを含む幅広い3Dアプリケーションを開発するための業界標準のグラフィックスAPIでもあります。Mac OS XのOpenGLは、効率的なマルチスレッドアーキテクチャ上に構築されており、ランタイムの最適化、リソースの仮想化、およびATI、Intel、NVIDIAのグラフィックプロセッサをサポートしています。

Quicktime for Multimedia

QuickTime

QuickTimeとQTKitフレームワークは、Mac OS Xで時間ベースのメディアを操作するための強力なサービスを提供し、オーディオ/ビデオの再生、キャプチャ、エンコードの各機能をアプリケーションに加えることができます。QuickTimeは、標準ベースのH.264コーデックを使い、極めて低いデータレートでも優れたビデオクオリティを実現するだけでなく、オーディオとビデオ向けに他の多くの主要なファイルフォーマットをサポートしています。