Quartz

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索

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

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

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

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

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

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

関連項目[編集]