ラベル mitsuba の投稿を表示しています。 すべての投稿を表示
ラベル mitsuba の投稿を表示しています。 すべての投稿を表示

2010年11月24日水曜日

Mitsubaレンダラ 0.2.0がリリースされる

タイトルのとおりMitsubaの新バージョンがリリースされていました。
以前アナウンスがあったKD-Tree周りの改善だけでなくblender2.5向けの
プラグインが早速追加されるなど、いろいろ興味深いものになっています。

とりあえずリリースノートを訳してみました。



前バージョンよりだいぶ間があきましたがMitsubaの新バージョンをリリース
しました。リリースが遅れたのはレンダラについて非常に多くのアーキテクチャ
変更を行ったためです。それらの変更は実際にみなさんがMitsubaを利用する際に
目に見えるものではありません。
しかし、レンダリングの高速化というかたちで体感していただけると思います。

アーキテクチャ変更以外の今回の変更内容は以下のとおりです。


・COLLADAインポータの安定性の改善。
  大抵のシーンを正しく読み込めるようになりました。従来はインポータ読み込まれた
  シーンは何百ものメッシュデータファイルに分割されていましたが、今回から単一の
  圧縮ファイルへ変換するようになりました。

・blender2.5への統合のための試験的なプラグインの追加
  プラグインにはマテリアルデザイナの機能も含まれています。このプラグインは
  現在リリースされているblender2.55には含まれていない機能を利用しています。
  そのためプラグインの利用にはsvnの開発版を自分でビルドする必要があります。
  また今回のプラグイン作成にあたりDoug Hammond氏が開発したEFパッケージ
  から多くの恩恵をうけています。この場を借りて感謝を申し上げます。

・Jonas Pilo氏提供のテストシーンをマテリアルデザイナーのプレビュー時の
  サンプルオブジェクトとして利用させていただきました。
  どんな感じになっているかはこちらの動画で見ることができます。

・KDツリーを利用した高速化とツリー構築のためのコードを全面的に書き換え。
  この新しいコードではよりよいツリー構造を生成します。これにより処理時間は
  古いバージョンと比較して数分の一にまで改善されています。さらに処理可能な
  ポリゴン数も増え30M triangles以上のポリゴンが扱えるようになりました。
  旧バージョンでこのような多くのポリゴンを含んだシーンをレンダリングしようと
  した場合利用可能なメモリをあっというまに使い果たしてしまうケースがありました。
  (こちらの元記事で詳細を説明しています。)

・インスタンスのサポートが追加されました
・シェイプの限定的なアニメーション(剛体のみ)が可能になりました

・Edgar氏の献身的な貢献によりIntel C++コンパイラでMitsubaをコンパイルする
  ためのパッチが提供されました。こちらの公式ダウンロードページで配布している
  windows向けMistubaは32bit/64bitどちらもIntel C++コンパイラでビルドして
  います。Visual Studioでのバイナリより高速な処理が可能となっています。

・シーン記述に用いられるXMLの書式がよりわかりやすいものになりました。
  特にオブジェクトとプロパティを好きな順序で記述することが可能になりました。

・UVマッピングに関して調整のためのパラメータ(offset、scale)が追加されました

・Luminaire importance samplingがより柔軟な設定が可能になりました。
  旧バージョンでは光源のサンプリングをその光の強さに応じて行っていましたが、
  不適切な結果になるケースがありました。今回のリリースではサンプリングの
  重み付けをマニュアルで指定することができるようになりました。

・ヘアーのレンダリングに一部対応。
  今回のバージョンでは自己交差形状のレンダリングが可能になっただけで、髪の毛
  特有の散乱モデルはまだ実装されていません。一部対応というのはそのためです。

・PLYファイルの読み込みが可能になりました。
  Ares Lagae氏の貢献によりlibplyを利用して実現されました。

・レンダラから頂点カラーを参照することが可能になりました。
  散乱モデルの色情報の前に"texture"を記述することで利用可能です。

・irradianceキャッシュを使用した際のレンダサーバの競合によるロックを修正。
  旧バージョンでマルチコアのマシンでレンダした際のパフォーマンス低下の原因と
  なっていました。

・ファイルをロードした際に表示されるダイアログにコンソールがつきました。
  詳細な処理の状況が表示されるので重いシーンをロードする場合に便利です。

・内蔵の環境マップの照度についてimportanceサンプリングがサポートされました。
  旧バージョンではuniformサンプリングのみ利用可能でした。

・多くのマテリアルとテクスチャがGLSLで実装されました。
  これによりインタラクティブプレビューでの表示が可能になりました。

・プレビュー表示の高速化。
  ジオメトリの評価をGPUでの処理に最適化したため、わずかですがプレビューが
  早く表示されるようになりました。


以上に加えて多くのバグフィックスが行われました。
ドキュメントについては不完全な部分がありますが今後整備をすすめていく予定です。



とざっくりこんな感じ。

今回追加されたblender2.5向けのプラグインで利用しているEFパッケージというのは
luxblend25でおなじみのexporter frameworkのことなので、すでにLuxRenderを
blender2.5系で利用している方は問題なくmitsubaのプラグインも利用出来るのでは
ないかと思います。

そのへんも含めてこれから試してみる感じで。

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

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拍手