Posted by ますお on Jul 27, 2010 – 7:19 pm
SIGGRAPH2010開催中のホットニュース.
Alembic
こちらでtaikomatsuさんが和訳されています.
Alembic – memlog
AlembicはILMとSPIが共同で開発及び公開した,アニメーションをシーケンシャルジオメトリにbakeするためのC++ライブラリです.”alembic”という単語には浄化器,蒸留器という意味があるそうで,必要な物だけを抽出する,というようなニュアンスですね.
ライティングやエフェクトはアニメーションされたシーンを元にして作業するのが普通なのですが,アニメーターがアニメートしたままの状態だと,リグやその他たくさんのアニメーション以外には必要のないデータも含んでいるし,何しろリグを毎回プロセスするのは色んな作業の邪魔になります.エフェクトなんかはそうでなくても重い作業が多いですからね.シーンも不安定になります.そもそもツールが別でリグが渡らない事も多い.そのため,ある程度の規模のスタジオでは,内部で特定のデータフォーマットを使ってbakeしたアニメーションをやり取りする事が多いのですが,Alembicはそのデータフォーマットとして使う事ができます.
シーケンシャルジオメトリのデータフォーマットは,今までこれといった決めてがなくて各スタジオがそれぞれ試行錯誤していると思います.GTOもかなり良さそうに思っていたのですが,AlembicはILMが絡んでいる事からして,GTOを更に改良した物(GTOは元々ILMで使われていた)と考えていいのかも?だとするとこれは良い候補になりそう.
ただ,こう言ったプロセスは,ある程度のパイプラインがあって,開発サポートが期待でき,大きなシーンやショット数をこなす必要がある場合に必要になる事だと思うので,規模の小さな場合は逆に手間になってしまう可能性もあると思います.あと,日本の某社の方に教えられたのですが,小さい所ではストレージとネットワークがネックになってしまうとも言っておられました.
今の所,ライブラリの使用例としてMayaのimporter/exporterプラグイン,PRManのprocedural primitive DSO,GTOからのコマンドラインコンバータ,その他ユーティリティがライブラリと一緒に公開されているようです.Pythonバインディングも一応あるようですが,これはまだまだこれからという雰囲気.
Houdiniのプラグインもないが,これは自前でやれという事か.
Posted by ますお on Jan 14, 2010 – 8:16 pm
OSLのソースと詳細がアップされたようです.
fxguide quick takes » Sony Releases Open Source Shading Language
openshadinglanguage – Project Hosting on Google Code
ドキュメントのみサラッと読んでみましたが,RSLとは見た目こそ似ているものの,設計は随分違いますねえ.このままPRManが今のまま同じ仕様をサポートするのは難しいでしょう.まあ,逆に言えば古いしがらみに捕らわれていない分,新しい事ができる土台になると思います.シェーダがclosureであるとか,light samplingはレンダラ側でやるとか,色々と興味深い.
ソースコードにはコンパイル済みシェーダの実行環境もライブラリとして含まれています.これを使って自分のレンダラにOSLを組み込む事ができますし,relightingツールなんかも作れそうですね.
今後の成長が楽しみであります.
Posted by ますお on Sep 1, 2009 – 8:04 pm
同僚から,非常に興味深いライブラリを教えてもらいました.
OpenImageIO Wiki
いわゆる画像ファイルの入出力ライブラリで,OpenEXRやTIFF等,CG作業で良く使われるフォーマットに対応しています.各フォーマットのサポートは対応する外部ライブラリをプラグインする形で実現されますが,このAPIを通す事ですべてのフォーマットを一元的に扱う事ができます.
と,これだけなら良くあるマルチフォーマット対応の画像ライブラリと同じで,特筆するような物ではないのですが,実はこのライブラリ,画像ファイルの部分読み,image cachingに加えてfiltered mipmap lookupまでサポートしているのです!
なんとマニアックな機能… と思ったのですが,それもそのはず,オリジナルの著者はLarry Gritzでした.恐らくは先日いくつかのオープンソースプロジェクトを公開した,某スタジオの某レンダラで使われているんだろうと推測されます.
ざっと眺めた所,まだ改善の余地はたくさんありそうですし,実装されていない機能もあるようですが,賢いimage cachingを書くのはとても大変ですから,レンダラや自前の画像ビューアを書く時にはかなりの作業量を減らす事ができると思います.
画像の入出力って意外と面倒なんですよね.ずっと「コレ」っていうライブラリを探していたんですが,今のところ開発もアクティブみたいだし,どうやらこれが決定版になりそう.
ライセンスはmodified BSD,商用利用もOKだそうです.
Posted by ますお on Jul 30, 2009 – 2:53 pm
いつの間に!
Sony Pictures Imageworks – Open Source
どれもこれも面白そうな物ばかり.OSL(Open Shading Language)とかFIELD3D(Voxel data storage library)とか,出所が想像できるのでかなり期待できます.
OSLはまだ中身がないみたいなので想像しかできませんけど,投稿者がLarry Glitzなので変な物は出てこないでしょう.これ,業界標準になりませんかねー.PRManとかmentalrayとかでサポートしてくれるようになると最高なんだけどなー.
しかし,権利にうるさいImageworksがまさかこんな事をするとは.ちょっと前に上層部がゴタゴタしていたようだし,身売りの話もあったので穏やかじゃないなと思っていたんですが,方向転換したのかな.
ただ,ページでコメントを載せているCTOのRob Bredowという人は,元々VFX Supervisorだった人で,かなり現場寄りかつテクニカルな人でした.最近CTOに昇格したというニュースを読んだのですが,この人の影響も少なからずありそうです.
Imageworks,いい方向に変わってる感じがします.
Posted by ますお on Mar 26, 2007 – 8:39 pm
これまた興味深いモノが出てきましたね.
Adobe Labs – Apollo
ここ数日,ニュースサイトにも情報が溢れていますので,ご存知の方も多いと思いますが,ApolloはRich Internet Application(RIA)をスタンドアロンで動作させるためのランタイムだそうです.どうやら一般的なブラウザの機能+Flashを丸ごと包含している感じ.さらにクロスプラットフォーム.
通常,GMailのようなWebアプリケーションの場合,ネットの繋がらない場所では当然ながら使用できない訳ですが,Apolloで動作するアプリケーションなら,サーバからデータが取得できないものの,アプリケーションとしては動作させる事ができる,つまり,新着メールの取得はできないが,(ローカルにデータを持っていれば)前のメールを読み返したり,それに返事を書いたりする事ができる,という事です.
これって普通のスタンドアロンで実行可能なアプリケーションであれば当然の事なんでしょうけど,Webアプリケーションと同じフレームワークで作られたものが,スタンドアロンで動かせるというのは画期的な事ではないかと思います.サンプルアプリケーションのページでは,Flashをインターフェイスに使用した,たくさんの可能性を感じさせる例を見る事ができます.
Apollo:Applications:Samples – Adobe Labs
開発環境としてはFlexを使うようです.これもSDK(コマンドラインコンパイラとデバッガ)が無償公開されました.これがあればテキストベースでのApolloアプリケーションが可能です.
Adobe – Adobe Flex 2: Flex 2 SDK
FlashのGUIデザイナーを含むIDE,Flex Builderは有料の製品.
Adobe – Flex 2 – Webアプリケーション開発ソフトウェア
自分はFlashってあんまり好きじゃなかったんですが,最近のJavascript+DHTMLなサイトを見続けていると,Flashの方がいいかな,とさえ思ってしまいます.どうしても「無理してる」感が拭えないんですよね.インターフェイスの遷移もスマートじゃない事があるし.その点ではFlashの方が綺麗に纏まっていると思います.時々やり過ぎなFlashサイトもありますが.
Apolloはまだアルファ版だそうですが,Adobe謹製の技術だけあって,今後がとても楽しみです.今まで少々とっつき難かったWebアプリケーションの敷居が低くなったら嬉しいと思います.自分のように,何かやってみたくてもそれに付随する多くの準備や知識に圧倒されてしまっていた人も多いはず.Apolloなら少なくとも自前のサーバなんかは必要なさそうですし.
Flexに良く似たオープンソースなフレームワークで,OpenLaszloなんてのもあるようですが,これはJavaの動作するサーバが必要みたいです.さらにブラウザ上での動作のみ.
OpenLaszlo | the premier open-source platform for rich internet applications
そのうち触ってみよう.