コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

Quartz Composer

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。49.133.161.54 (会話) による 2013年3月22日 (金) 11:30個人設定で未設定ならUTC)時点の版であり、現在の版とは大きく異なる場合があります。

Quartz Composer
ファイル:QC Screen shot.png
Quartz Composer Editorのスクリーンショット
作者 アップル
最新版
4.6 / 2011年11月18日 (13年前) (2011-11-18)
対応OS

Mac OS X v10.4(バージョン2.0)
Mac OS X v10.5(バージョン3.0)
Mac OS X v10.5+ iPhone SDK(バージョン3.1)

Mac OS X v10.6(バージョン4.0)
サポート状況 開発中
種別 ビジュアルプログラミング言語 / ソフトウェア開発ツール
ライセンス プロプライエタリ
公式サイト http://developer.apple.com/graphicsimaging/quartz/quartzcomposer.html
テンプレートを表示

Quartz Composerはノードベースのビジュアルプログラミング言語で、グラフィックデータ処理のためにMac OS Xの開発環境の一部として提供されている。

Quartz ComposerはOpenGLGLSLなど)、OpenCL(MacOSX10.6以降)、Core Image、Core Video、JavaScript、およびその他の技術をシンプルなビジュアルプログラミングの形で提供する。 Appleはオペレーティングシステムに深くQuartz技術を埋め込んでいる。Quartz Composerで作成したコンポジションは、任意のQuickTimeアプリケーションでスタンドアロン再生することができます(ただし、MacOSX10.4以降)。例えばiTunesのビジュアライザ、スクリーンセーバなど。Quartz ComposerはアプリケーションとしてCocoaまたはCarbonを通してGUI部品を埋め込むことが出来ます。このソフトは少なくとも32MBのVRAMを搭載したグラフィックカードが推奨されます。Quartz ComposerにはiPhone SDKが含まれていますが、iOSデバイスでコンポジションを実行する方法は現在ありません。

パッチ

Quartz ComposerによるQuartzプログラミングはパッチをつなぐことで実現される。パッチとは、他のプログラミング言語のルーチンと同様で、基本処理単位である。これは実行され結果を生成します。パフォーマンスを向上させるため、パッチはその出力が必要なときにのみ実行される遅延評価のアプローチに従います。パッチの3つのタイプがあります:出力、データ処理、そしてMIDIやオーディオ、キーボード、マウス、その他入力を受け付ける外部入力です。パッチのコレクションはマクロと呼ばれ、一つに融合することができます。マクロは、入れ子になったサブルーチンを編集することができます。

レンダリング順を制御するため、各レンダラにはレイヤーが割り当てられる。レンダラパッチの右上に番号が割り振られていて、高ほうから低い方へ順次レンダリングされます。レンダラは無効にしたり有効にしたりできます。使用されていないレイヤーをオフにすると、多くの場合、性能が上がります。

いくつかのパッチは下位にパッチを内包することが出来ます。そのパッチに適用されるパラメータの変更は下位のパッチにも適用されます。照明、3D変換、およびGLSLシェーダがそうです。このようなパッチは丸みを帯びた形ではなく、角が四角い形で示されます。

バージョン3.0では、コンポジションを仮想パッチとして利用できるようになりました。これにより、ユーザは、それぞれのコンポジションに重複コピーを作らずに作成した機能を再利用することが出来ます。Quartz Composerのエディターでは、ユーザーが簡単に配布するために、"フラット"なコピーを(完全に中で展開する仮想パッチ)保存することができます。バージョン4.0ではさらに拡張され、目的の仮想パッチがホストにない場合にフォールバックとして使用するための仮想パッチの"フラット"コピーが保存されます。これは、大幅にコンポジションの配布を簡略化します。

Leopardでのリリースでネットワーク機能が大幅に強化されました。これによりネットワークを介してデータの同期ができます。そして、OpenSound Controlのサポートが追加されました。

プラグイン

バージョン3.0では、Xcodeのテンプレートを使ってカスタムパッチを書くことが出来き、"セーフモード"の概念が導入され、危険なパッチの読み込ませないようになった。これは危険または安全でない操作を実行する悪意のあるコンポジションを防ぐことができます。 ただしAppleのXcodeのテンプレートを使用したカスタムパッチがいつも安全なわけではありません。

バージョン2.0より、カスタムパッチのプラグインを開発することは可能であったが、APIは公開されていませんでした。テンプレートは、この手順を簡略化するためにリリースされました。

隠しオプション

Quartz Composerエディターで、optionキーを押しながら"Preferences..."を選択すると、の3つタブのオプションが追加されます。これらのオプションは、システムの設定、エディタの設定、およびQuickTime統合設定です。 ここに含まれるオプションで特記すべきは、拡張ツールチップ、ソフトウェアレンダリングと、フレームレート無制限のレンダリングがあります。マルチサンプルアンチエイリアシングのオプションはバージョン4.0で追加されました。これによってエディタ内でアンチエイジングが有効になります。ただしGPUが対応している必要があります。

データ型

QCは以下のデータ型を使うことが出来る:

バージョン4.0より以下の型も追加された:

  • Mesh - 3次元座標に配置された頂点の集合とその法線、それらのテクスチャと色
  • Interaction - コンポジションにおいて、インタラクティブにユーザーの入力を受け付けるための値のない型

型変換

データは通常、別の型に変換することができます。 Quartz Composerでは、パッチ間の接続の色は変換について示します。黄色の接続は、変換が行われていません。オレンジは変換によるデータの損失の可能性(例えばNumberからIndex)を示し、赤色は難しい変換を示します(ImageからBooleanなど)。

コンポジション

Quartz Composerエディタで作成された書類は、コンポジションと呼ばれます。これは、バイナリプロパティリストXMLバージョンもサポートされている)で、拡張子は.qtz UTIはcom.apple.quartz-composer-compositionです。パッチや、その接続、その入力ポートなどの状態はコンポジションファイルに保存される。

コンポジションプロトコル

バージョン3.0では、コンポジションプロトコルの概念が導入されました。このプロトコルは、それぞれの目的を達成するため必要となる的確な入力や出力などのテンプレートを提供します。以下のプロトコルは、最初から用意されています:

  • Graphic Animation - これは入力も出力も必要としない、しかしスクリーンに必ず描画される。これはKeynoteのようなアプリケーションで背景のアニメーションとして使うのに便利である。
  • Image Filter - フィルタによって画像を変化させます。Render In Image環境を使わないとImage Filterでレンダラーは許可されません。
  • Graphic Transition - 元の画像から一定の間隔で次の画像へ遷移するトランジションを生成します。
  • RSS Visualizer - RSSフィードを解析して表示します。
  • Screen Saver - Finderのためのスクリーンセーバー
  • Music Visualizer - iTunes内で使用するためのミュージックビジュアライザ

バージョン4.0で新しいプロトコルが一つ追加されました。

  • Mesh Filter - 入力されたメッシュを変形

正式にプロトコルを追加する方法はありません。しかし将来的には、これを可能にする文書化されていない方法があります。

ランタイム

プロトコルに加えて、コンポジションでは異なるランタイムを利用することができます。 Leopardでは、Tigerのランタイム(32ビット)と、 よりよいLeopardランタイム(32ビット、または64ビット)を利用できます。エディタは使われているパッチが危険か、Tigarで使用できないかを表示出来ます。これは互換性を保のに役立ちます。

リポジトリ

バージョン3.0ではコンポジションリポジトリが利用可能になりました。アプリケーションで処理や効果のコンポジションを共有して利用できるようにします。

  • /System/Library/Compositions - システム中核のコンポジション(ユーザーは通常、これらを変更することはありません)
  • /Library/Compositions - すべてのユーザーが使えるコンポジション
  • /Users/username/Library/Compositions - ログインしたユーザーのみが使えるコンポジション

リポジトリに追加するには、単純にコンポジションファイルをこれらの場所に入れるだけである。

コンポジション比較

Quartz Composer 3.0においてコンポジション比較(compare compositions)が可能になりました。ユーザーが任意の二つのコンポジションにおいて、入力やレンダリングされた出力や画像を比較することが出来ます。

関連ソフトウェア

Quartz Composerは多くの点でMax/MSPに似ている。しかしMax/MSPはどちらかというと音声の処理に重点を置かれている。 QCは、音声やMIDI信号に反応する映像のコンポジションを作成することができ、それをQuickTime対応アプリケーションから再生できることから、VJ達から大きな関心を集めた。

Quartz Composer Visualizer

Automatorのサポート

いくつかのAutomatorアクションは、Leopardで追加されました。

  • 画像ファイルにQuartzコンポジションフィルタを適用
  • QuartzコンポジションをQuickTimeに変換
  • 画像ファイルにQuartz composerをレンダリング

歴史

Pierre-Olivier LatourはQuartz Composerの元となるPixelShox Studioを開発した。

外部リンク

書籍

チュートリアルおよび記述

メーリングリスト

コンポジション

カスタムパッチ/プラグイン

画像や動画

');