Category Archives: 開発

Open Shading Language

0
Filed under 開発

OSLのソースと詳細がアップされたようです.

fxguide quick takes » Sony Releases Open Source Shading Language
openshadinglanguage – Project Hosting on Google Code

ドキュメントのみサラッと読んでみましたが,RSLとは見た目こそ似ているものの,設計は随分違いますねえ.このままPRManが今のまま同じ仕様をサポートするのは難しいでしょう.まあ,逆に言えば古いしがらみに捕らわれていない分,新しい事ができる土台になると思います.シェーダがclosureであるとか,light samplingはレンダラ側でやるとか,色々と興味深い.

ソースコードにはコンパイル済みシェーダの実行環境もライブラリとして含まれています.これを使って自分のレンダラにOSLを組み込む事ができますし,relightingツールなんかも作れそうですね.

今後の成長が楽しみであります.

OpenImageIO

0
Filed under 開発

同僚から,非常に興味深いライブラリを教えてもらいました.

OpenImageIO Wiki

いわゆる画像ファイルの入出力ライブラリで,OpenEXRやTIFF等,CG作業で良く使われるフォーマットに対応しています.各フォーマットのサポートは対応する外部ライブラリをプラグインする形で実現されますが,このAPIを通す事ですべてのフォーマットを一元的に扱う事ができます.

と,これだけなら良くあるマルチフォーマット対応の画像ライブラリと同じで,特筆するような物ではないのですが,実はこのライブラリ,画像ファイルの部分読み,image cachingに加えてfiltered mipmap lookupまでサポートしているのです!

なんとマニアックな機能… と思ったのですが,それもそのはず,オリジナルの著者はLarry Gritzでした.恐らくは先日いくつかのオープンソースプロジェクトを公開した,某スタジオの某レンダラで使われているんだろうと推測されます.

ざっと眺めた所,まだ改善の余地はたくさんありそうですし,実装されていない機能もあるようですが,賢いimage cachingを書くのはとても大変ですから,レンダラや自前の画像ビューアを書く時にはかなりの作業量を減らす事ができると思います.

画像の入出力って意外と面倒なんですよね.ずっと「コレ」っていうライブラリを探していたんですが,今のところ開発もアクティブみたいだし,どうやらこれが決定版になりそう.

ライセンスはmodified BSD,商用利用もOKだそうです.

Imageworks Released Opensource Projects

0
Filed under 開発

いつの間に!

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,いい方向に変わってる感じがします.

Apollo

0
Filed under 開発

これまた興味深いモノが出てきましたね.

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

そのうち触ってみよう.

マルチコアとOpenMP

0
Filed under 開発

先日発表されたIntel Macは,マルチコアCPUを搭載していました.

そして,IntelはMac OS X向けIntel Compilerのベータ版を配布し始めたようです.

米Intel、”Intel Mac”向け開発ツールのベータ版を公開 (MYCOM PC WEB)

Development Support for Intel-based Macs* – Intel® Software Network

このIntelのコンパイラはOpenMPをサポートしているとの事.Appleの純正コンパイラであるGCCも4.2からOpenMPをサポートするようですし,Objective-Cでも使えるようになるんでしょう.そして,実はVC++ 8.0もOpenMPをサポートしています.

OpenMP in Visual C++

来たるべき総マルチコア時代の並列処理はOpenMPが標準のインターフェイスになりそうですね.

OpenMP | OpenMP: Simple, Portable, Scalable SMP Programming

自分はPthreadは知っていますが,OpenMPは全然知りません,これから勉強しなきゃ.

楽だって聞きますけど,どんなもんでしょ.