Quartz

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

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

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

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

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

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

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

[編集] 関連項目

[編集] 外部リンク

個人用ツール
名前空間

変種
操作
案内
ヘルプ
ツールボックス
他の言語