2010年9月21日火曜日

mitsuba-rendererを試してみた

LuxRenderのフォーラムで少し話題になっていたMitsuba-rendererを試してみました。
開発者のブログを見るとおそらく今年の8月ごろから開発が始まった新しいプロジェクトの
ようですが今後が非常に楽しみなものになっています。


公式サイトを見てみるとphysically based rendererとあるのでLuxRenderやindigoのような
物理モデルに基づくレンダラのようです。

ざっと目についた特徴をあげていくと

・オープンソース(GPL ver.3)
・マルチプラットフォーム対応
   下記OS向けにはバイナリも用意されています。
    OSX Leopard & Snow Leopard
    Ubuntu Lucid Lynx
    Windows Vista&7
・ネットワークレンダ対応
・OpenGLによる高速・高品位なプレビュー
   LightWaveのGafferとかG2みたいな感じ。
・豊富なインテグレータとサンプラー
   Stochastic Progressive Photon Mapperも使えるそうな
・objおよびCOLLADA形式のファイルが読み込み可能
   前回のblender2.5のCOLLADAサポートに関する記事はこのためだったりしますw

上記のバイナリ版を利用してもいいのですが、開発がスタートしたばかりのようなので頻繁に
更新がありそうです。というわけでせっかくのオープンソースなので自前でビルドしてみました。

手順はこんな感じ。

1.ソースコードの入手

 mercurialが使える環境なら
$ hg clone https://www.mitsuba-renderer.org/hg/mitsuba/
で完了。そうでないなら上記URLをブラウザで開いてダウンロード。


2.ビルドの準備

sconsでビルドできるので用意されたテンプレートを元に設定ファイルを準備すればOK。
といっても
$ cd mitsuba
$ cp config/config-linux.py ./config.py
これで大概の場合は問題ないはず。いろいろ最適化したい場合はconfig.pyを編集のこと。

手元のUbuntu 10.04ではsconsの依存チェックでlibxxf86vm-devやlibxerces-c-dev、
リンク時にlibglewmx-devが無いといわれてエラーになったのでそれらがインストールされて
いない場合は事前にパッケージを追加しておきます。

さらにCOLLADA形式のインポートを有効にするには事前に必要なパッケージをインストール
しておく必要があるのでそれも追加しておきます。

 $ dpkg --install tools/linux/collada-dom2.2_2.2-1_amd64.deb tools/linux/
collada-dom-dev_2.2-1_amd64.deb

手元の環境では上記2つのパッケージのインストール時にlibcrecpp0が無いとエラーになり
正常にインストールできないので、それも追加してます。


3.ビルドと実行

$ scons
すればビルドが始まり、問題なければソースファイルのルートにCUI版のmitsuba、GUI版の
mtsguiとその他いろいろが出来上がってるはずです。

で実行に必要なパスや環境変数の設定のためソースファイルに同梱されている設定スクリプトの
setpath.shを実行しておきます。

が、試したところソースツリーの構造とスクリプトの内容に食い違いがあるようで起動できません。
仕方がないので下の3つのファイルをmitsubaやmtsguiと同じ場所にコピーしておきます。

  src/libcore/libmitsuba-core.so
  src/libhw/libmitsuba-hw.so
  src/librender/libmitsuba-render.so

ここまでくれば起動するはずです。
ちなみにGUI版のmtsguiを起動するとこんな感じ。



で、COLLADA形式でエクスポートしたblenderのシーンを読み込ませてレンダするとこんな感じ。



レンダが早いわりにノイズが少ないというのはとてもポイントが高いです。
ただし、マテリアルの詳細を設定するにはテキストエディタでシーンファイルを編集する必要が
あったり、blenderでテクスチャ貼っても反映されなかったりと開発途上という雰囲気はあります。
blenderと利用可能な外部レンダラの選択肢が増えるだけでも、ありがたく思いなさいよねっ!!
という感じでしょうか。

開発が始まってやっと1ヶ月くらい(のはず)で、このレベルなので今後も注目していきたいところ。

---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手