これまで、SPIではLinuxのプラットフォームで実写映像のビジュアル・エフェクトからデジタル・キャラクターのパフォーマンスなどのノウハウを培ってきた。これまでに築いた革新的な技術の一部をオープンソース・コミュニティに開放することで、テクノロジーに貢献したいという。
これらのソフトウェアは世界中の誰でも使うことができる。SPIは「プロジェクトを手掛けるチーム・メンバーは、コードを使用したいと思う人に援助を惜しまないつもりだ。コミュニティはもっと大きくなり、それとともにコードも改良されていくだろう」と語る。オープンソースにより、映像界もより大きな進化を遂げるかもしれない。各ソフトウェアの概要は下記にまとめているほか、詳細についてはWebサイトを参照してほしい。
ちなみに、これまでプロダクションがオープンソースでソフトウェアを提供した先駆けは、ILMが2003年にリリースした「OpenEXR」。これはLightwaveやAfter Effects 7 Professional、Photoshop CS2などでサポートされている16ビットのフローティング・ポイント・ファイル・フォーマット・システム。これまでに映画「ハリーポッターと賢者の石」、「メン・イン・ブラック2」などで使われている。
1.レンダリング用のシェーディング言語「Open Shading Language(OSL)」
OSLはアドバンス・レンダーのアルゴリズムで、ラジアンスなどに特化したプログラム言語(C言語に似ている)。OSLは扱いやすいC++のAPIを備えたライブラリを含んでいるので、既存のレンダラーやパッケージ、画像処理ツール、その他のアプリケーションに簡単に取り込むことができるだろう。またソースコードのカスタマイズや、レンダラー特有の拡張や変更、GPUやその他の特別なハードウェア向けのカスタムバックエンドの開発も可能だ。
2.ボクセル・データのストレージ・ライブラリ「Field3d」
Field3dはボクセル・データを保存するオープンソースライブラリ。インメモリでもディスクでも同じようにデータを保存できるC++言語のクラス群を提供する。このライブラリは元々SPIが独自で開発し使っていた3つの異なるボクセルデータフォーマットの置き換えとして開発されたものだ。現在も現場で活発に利用されている。
3.カメラ・マスキングのためのプラグイン「Maya Reticule」
Maya Reticule(マヤ・レティキュール)はカメラ・マスキングのためのプラグイン。カメラを通して被写体を見た時にフィルムバックや絞り等様々なマスクを表示させることができる。さらに前もって定義した焦点距離等のパラメータの値を好きな場所に表示することや、好きな文字を表示させることも可能だ。元々はspReticleLocという名前で開発されており、カメラに目盛りを表示させるためのMayaのC++プラグインとMELスクリプトだった経緯を持つ。
4.データベース移行ツール「Scala Migration」
Scala Migration(スカラ・マイグレーション)は、データベースの構造のアップグレードやロールバックを管理するライブラリ。ソース管理システムでデータベース・スキーマとプログラム・コードの同期をとることが出来るので、開発者がローカルで加えた変更をデータベースに反映し、その変更を各開発者がそれぞれのローカル環境に反映することができる。まるで一人でソースコードを管理しているかのように開発できるよう設計されている。このパッケージはRuby on Railsのマイグレイションズに基づいており、プログラムにはScala言語を採用している。
5.C++言語でpythonのようなストリング・ハンドリングを行う「Pystring」
Pystring(パイストリング)はオブジェクト指向のプログラミング言語、Python(パイソン)を模したC++関数のセット。パイストリングはC++で実装されているので、パイソンの処理系なしに便利でおなじみの文字列操作を提供してくれる。C++とパイソンが一緒に使われるような環境でも役に立ってくれるだろう。
・opensource.imageworks.com
Tags:
トラックバックURL:http://white-screen.jp/white/wp-trackback.php?p=2876












