Quartz

出典: フリー百科事典『ウィキペディア(Wikipedia)』
2013年6月25日 (火) 11:43時点におけるCharHigh (トーク)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

テンプレート:出典の明記 Quartz(クオーツ)は、アップルオペレーティングシステム Mac OS X の描画コアエンジン。前身である NeXTDPS に代わり、PDF ベースの描画モデルを採用したもの。三次ベジェ曲線を描画プリミティブとするベクトル型システムで、QuickDraw との互換性はない。なお、QuickDrawはCarbonアプリケーションの互換性のため Mac OS X にも残されている。

細かく言うと、アプリケーションで個々のバッファに描画を行なうプリミティブは Quartz 2D と呼び、それらを最終的にGPUのフレームバッファに合成する部分は テンプレート:ルビという。単に Quartz という場合は大抵 Quartz 2D の事である。現在の Quartz の構造では、Quartz 2DQuickDrawOpenGLQuickTime の各出力が最終的に Quartz Compositor によって画面に描画される形になっている。

Quartz の機能は、Objective-C からは Cocoa API を通して、また C/C++ 言語からは Carbon API を通して利用できる。またアップルは Quartzスクリプト言語バインディングのひとつとして Python のバインディングを公式に用意している。

Mac OS X v10.2Jaguar)以降では、環境に応じて ビデオチップのジオメトリ演算ユニットを使って、 CPU の負荷を軽減する Quartz Extreme が実装された。これは Quartz Compositor のバッファ合成をGPU内部で行なうシステムであり、これにより OpenGL との混在描画も可能となった。

Mac OS X v10.4Tiger)ではビデオチップのプログラマブルシェーダを使って、描画演算をほぼ全てビデオチップ内で実行できる Quartz 2D ExtremeMac OS X v10.5Leopard)で QuartzGL に名称変更)が隠し機能として搭載されている(多くの不具合を抱えたまま実装されオフにされており、正式にはサポートされていない)。

DPSから Quartz へと実装が変更された理由は、一説にはAdobe社のライセンス料が高額だったためといわれていた。しかし、実際にはDPSでは機能が足りず、現代的な描画システムとしてふさわしいリッチなものが必要であったことが主な理由である。

関連項目

テンプレート:OS X