2009年12月30日水曜日

blender250Freestyle統合ビルド

Freestyle統合プロジェクトのブログに進捗情報がポストされていたので
もしやと思いsvnのアップデートをかけてみるとプロジェクト更新されてる!

というわけで早速ビルド。
blender250-Freestyle_svn25618_gcc.tbz

とりあえずこれだけ。
俺、この大掃除が終わったら思う存分blenderをいじるんだ。

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

2009年12月28日月曜日

トゥーン向けのモデルをなんとなく作り始める

 Freestyleでいろいろ試すにはそれなりのモデルデータが無いとつまらないので
トゥーンシェーティング前提でモデルを作り始めてみる。

アニメのキャラクターとかを2次元の絵として普段なんとなく見慣れているけれど
3Dデータとして改めて見なおしてみるとだいぶ目が大きい事に気づく。
よく海外でネタにされているほど極端なバランスでは無いものの目を大きくしないと
それっぽく見えないのが面白い。

始めたばかりだけど適当にマテリアル設定してレンダしたら、意図して調整したわけでも
ないのに見事にデコにハイライトが入ってて吹いた。



以下はモデリングのショートカットのメモ

・Ctrl + LMB : クリックした場所に頂点追加。
User Preferences -> Interface -> Auto DepthがONだと頂点が追加される
空間上の位置精度が良くなる気がする。気のせいかもしれないが。
・Alt + RMB : 連続した頂点を選択。再度クリックすると縦と横が切り替わる。
・Ctrl + Alt + RMB : 連続した面の選択。
RMBで選択される面がプレビュー表示される。その面で問題なければLMBで決定。

以上全部2.5svn25574時点のもの。
blenderが2.5になったのとあわせて、久しぶりにまじめにモデリングしたこともあり
自分が忘れてただけなのか、以前からあって自分が知らなかっただけなのか
それとも2.5で追加or変更されたショートカットなのか全然検討がつかない。

ある意味新鮮な気分w

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

2009年12月24日木曜日

Freestyleをこれからも応援します。

開発者の交代に伴なうプロジェクトの引継ぎがあったblenderのFreestyle統合版ですが
今後の予定も発表され統合に向けた作業は進行していくようで一安心。

さらに昨日リポジトリの更新もあり、ちょっとしたクリスマスプレゼントといった感じに。
というわけで早速ビルドしてみました。いつものごとくOSX10.5以上32bit。

blender250-Freestyle-svn25509_gcc.tbz

いつもファイルをロダに上げてから一度自分で落として問題ないか確認してるのですが
今日のファイルを落として確認してみると、なぜか既にカウンターが回っている。
 一つは自分だとしても、RSSの更新とかで気づいたのだろうけど他の人早すぎですw
たまにファイル間違って古いの上げたりとかするんでもっとゆっくりしてください。


なにはともあれ、Freestyle統合版を触ってるとやっぱり自分でスタイルモジュールを
書いてみたくなる。公式サイトを見ると標準で用意されているモジュールはあくまで
サンプルでしかないという感じ。


公式サイトからひとまず役に立ちそうなページをとりあえずメモ。
・スタイルモジュールを書くためのチュートリアル
・スタイルモジュールによる描画の解説
・クラスリファレンス

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

2009年12月20日日曜日

Lux開発版のレンダが着々と高速化している件

 具体的には
・metropolisサンプラの改善でサンプル捕集を高効率で実施
・インテグレータで発生していたノイズの低減
という雰囲気。無駄弾を撃たなくなったという感じ
結果として同じレンダ時間ならよりノイズが少なく、同じ品質ならより短時間に。

試しに前にレンダしたこのシーンを開発版でレンダしてみた。



約10分でこんな感じ。

前回は1時間かからないくらい、50分ちょいとかのはず。かなり早くなった。
igiのノイズが少なくなったようなので、前回のbidirectionalからigiに変更。
サンプラは同じmetropolis。
インテグレータが違うので同条件ではないけど、それ以上に改善された
サンプラの影響が大きい。劇的といってもいいくらい。

LuxBlend開発版には"0.7 Devel"の記載があるけど、Lux本体のリポジトリの更新
見ると"v.061"ってタグも存在する様子。
0.6リリース以降に適用されたパッチやバグ対策のバックポートでv0.6.1が
v0.7よりも前にリリースされたりするのかなぁ。

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

2009年12月15日火曜日

blender250-Freestyle統合版 svn25345

さっきsvnのワーキングコピーを更新したらscons関連のファイルが修正されたようで
ちゃんとビルドできるようになってた。週末にビルドできなかったのはそのせいか。

ただ、Freestyle統合はblender.jpでミーティングノートとして掲載されてたけど
二人いる中の人の片方が仕事を優先してしばらくFreestyleから手をひくそうな。
しばらく大きな更新はないのかもしれないので、逆に今のうちにスタイルモジュールを
いろいろいじってみようかなぁ。

というわけでとりあえずビルドしたのはこちら。
OS10.6で動作確認済み。10.5でも動くはず。FreestyleにはPython3.1が必要。

blender250-Freestyle svn25345
gcc版
llvm-gcc版


ついでに通常のtrunkも更新してビルド。

svn25357
gcc版
llvm-gcc版

trunkの方はalpha1に向けて粛々と開発が進んでいるような雰囲気。
We need OpenGL developers who can compile and test
Blender in different configurations, especially ATI and Intel (gfx)
environments. This for sculpting (partial update, VBO) and buffer
methods (double, triple, draw to texture).
ということなので、バッファリングやテクスチャ表示関連など描画周りにさらに
手が入る可能性が大きそう。

2.49bとOSX10.5の環境から、2.5とOSX10.6に移行してかなり軽くなったけど
インテルの内蔵グラフィックでもさらに快適になったりするんだろうか。

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

2009年12月6日日曜日

blenderとLuxRenderのビルド手順メモ

2.5系は今のところスモークを試すとかなりの高確率で落ちる感じ。
svn更新してビルドしたけど状況は変わらず。
試したビルド:blender250-svn25136-osx10.6-i386-llvm-gcc.zip

OSXでもOpenMPを有効にできるというのがわかったので有効にしてみた。
bulletなどの物理シミュレーションがマルチスレッド対応になるとか。

ところでアップしたビルドは他所のマシンでも動いてるんだろか?
某所で動かないという報告があったので心配なところ。
落として試された方の動作報告をいただけると非常に助かります。

というわけでblender2.5系とLuxRender0.7系の開発版のビルド環境を構築して
更新を追っかけられるようにしたのはいいが結構更新頻度が高くて驚く。
オープンソースってこういうことか。
やたら手元の環境を更新してもあまり意味がないので週末に差し替える感じかなぁ。


以下はビルド手順もある程度慣れて安定してきたのでとりあえずメモ。

・blender250 svn trunk

svnのワーキングディレクトリ(blenderとlib)で
$ svn update
$ python scons/scons.py
するだけ。本体だけでなくlibも更新するのを忘れないように。

今のところ問題なく更新して最新ビルドができてるけど、ダメなら
$ cp ./config/darwin-config.py ./user-config.py
して、user-config.pyを再設定すればよさげ。


・blender250 Freestyle branch

今のことろ更新がないので実際どうなるかは分からないが
多分trunkと同じやり方でビルド出来るはず。



・LuxRender

ソースをダウンロードする。
http://src.luxrender.net/lux/
luxrender.appのビルドはCMakeList.txtを編集して
$cmake -G Xcode
で、Xcodeのプロジェクトファイル作成。
Xcodeでプロジェクトファイルを開いて追加のオプション設定してビルド実施。

場合によってはLuxBlendもその時点の最新版に差し替える。
http://src.luxrender.net/luxblend/

ただLuxRenderはうまくビルドが通ってもリンクで問題があるのか実行時に
落ちることがある。CMakeList.txtを一度ちゃんと読んだ方がいいのかも。


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

2009年12月1日火曜日

svnとSCONを使ったblenderのビルド手順

blender2.5Alpha0 Freestyle統合版をMac OSX向けにビルドしたときの手順です。
こちらの環境はOSX10.6 Core Duoの32bit環境で作業をしました。
Core2な64bit環境でも同様の手順でビルドできるはずなので参考までに。


### 作業ディレクトリの準備 ###

まずは作業するためのディレクトリを準備します。
今回はホームディレクトリ直下に
~/blender-svn
というディレクトリを作りました。

で、その作業ディレクトリに移動しておきます。
$ cd blender-svn


### blenderのソースコードの入手 ###

svnをつかって開発版のツリーからチェックアウトします。

作業ディレクトリにいる事を確認したら
$ svn checkout https://svn.blender.org/svnroot/bf-blender/branches/soc-2008-mxcurioni/
としてしばらく待つとFreetype統合版のソースコードがダウンロードされます。


### ビルドに必要なヘッダファイルやライブラリの入手 ###

事前に MacPortsで必要なライブラリはインストール済でしたがビルドが通りません。
どうやらblender本体のソースコード以外に追加で必要なファイルがあるようです。
というわけで同じくsvnを使ってそれらを入手します。

OSX10.6およびOSX10.5の場合は
    svn checkout https://svn.blender.org/svnroot/bf-blender/branches/lib/darwin-9.x.universa
で必要なものが揃うみたいです。

ここまでの手順で下記のフォルダができている状態になっているはずです。
~/blender-svn
~/blender-svn/lib
~/blender-svn/soc-2008-mxcurioni


### ビルドの設定 ###

ここからの作業はsoc-2008-mxcurioniの中で行います。
$ cd soc-2008-mxcurioni
としてフォルダを移動します。
ここがfreestyle統合版のソースコードのルートディレクトリになります。

次に設定ファイルをコピーします。
$ cp ./config/darwin-config.py ./user-config.py
としてデフォルトの設定ファイルをコピーしてルートディレクトリに持ってきます。

エディタでuser-config.pyを開いて自分の環境に合わせて設定します。
ゲームエンジンやblenderplayerなどblender本体でサポートする機能や使用するライブラリ、
SDK、ターゲットのOSのバージョンなどを指定します。
ビルド環境や必要な機能等は人それぞれだと思うので詳細な説明は省きます。
こちらで今回ビルドするのに使用したuser-config.pyを末尾に添付してあるので参考までに。


### ビルドする ###

今いるソースコードのルートディレクトリで
$ python scons/scons.py
とするとビルドの設定が始まり、コンパイル、リンク、blender.appのパッケージ作成まで
一気に進みます。問題が有れば途中で止まるのでエラーメッセージを参考に対応します。

最後まで進めば
scons: done building targets.
と表示され、~/blender-svn/build/darwin/binのディレクトリに実行ファイル単体のblenderと
パッケージのblender.appが出来ているはずです。

あとはblender.appをアプリケーションフォルダなどに移動して動作確認するだけです。


### 使ったビルド設定ファイル ###
MacOSX10.5 Intel 32bit CPU向け
MacOSX10.5 Intel 64bit CPU向け

ダウンロード後、ファイル名をuser-config.pyに変更。


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

祝Freetype統合版更新。

blender.jpでも取り上げられていましたがBlender 2.5 Freestyle 統合が更新とのこと。
2.5alpha0ベースになったようでめでたい。

さっそくGraphicAll.orgをのぞいてみましたがOSX向けビルドは見当たらず。
まぁよくあることです。

しばらくしてOSX向けビルドがアップされても64bitとか書いてあるんです。きっと。

というわけでまたもや自前でビルドしてみました。
->blender-svn25040-freestyle-osx10.5-i386_001.tbz


最適化はデフォルトのまま。とりあえずFreestyleが使えるのは確認済み。

OpenALやSDL周りの設定が上手く行かなかったのでそのへんは無効になってます。
今回は10.5でも動くはず。というかSDKやライブラリが10.5向けまでしかない?感じ。

SCONのテストがてらx86_64なバイナリのビルドも試したんですが、最後のほうの
makesdnaの実行で"Bad CPU type in executable"とエラーが出てビルド完了ならず。

今回やったビルドの手順の簡単な説明とビルドの設定ファイルも添付しておきます。
64bit環境な方はチャレンジしてみてください。

長くなったのでビルドの説明はこちらに。

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

調子に乗って他にもllvm-gccでビルドしてみた

googleサイトの容量が足りなくなる恐れが有るのでアップローダを借りました。
今後はなんかあればそちらに上げてきます。

とりあえず今回は下記の2点。

->blender2.49b-py26_i386_os10.6-opt002.zip
 普通のblender2.49b。python2.6を使用。Core Duo、Mac OS X10.6に最適化。

->LuxRender開発版(Lux0.7devel-200911301742-001.zip)
次期リリースに向けて動き出したみたいなので試しにビルド。最適化は上と同じ。
まだまだ絶賛開発中なので不具合とかあるかも。
手元の環境で試したところexphotonが正しく動かなかった。残念。
bidirectional&metropolisの組み合わせは比較的まともみたい。
その辺を試すのにはよさげ。metropolisサンプラがだいぶ賢くなってるみたいで期待大。


というわけで、ためしに今回のビルド2点を使ってレンダリングしてみた。
HDRIマップによるライティングのやり方がわかったのでそれのテストも兼ねて。

レンズの絞りを6枚羽すると背景のHDR画像のボケがちゃんと六角形ぽくになるのが素敵。
あと肌色成分は大事だと思ったw
もうね、物理モデルがどうとか、光学的に正確とかそんなこまけーことは(ry



モデルデータはhheavenさん(mmViewerの中のひと)のデータを使わせていただきました。
肉々しさがすばらしいです。いろいろたまりません。

HDR画像はこちらで提供されているものを利用させていただきました。
LuxRender公式サイトの外部リンクページには他にもテクスチャやHDRファイルを
提供しているサイトへのリンクが有るので要チェックです。


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

2009年11月29日日曜日

LuxRender10%早くなる。

前回に続きLuxRenderの自前ビルドと最適化。

いろいろやった結果、シーンやレンダラのオプションによって効果のばらつきは
当然あるもののllvm-gccの恩恵もあり、約10%ほど早くなった模様。

halt sppを150に設定してレンダしたベンチ(=同じ品質ならどれだけ早く終わるか)で

公式ビルドとの差が一番大きいときはこんな結果がでる。

自前(llvm-gcc4.2) - 7:22 (442sec), 60249 TotS/s, 151.91 S/px
公式(official build) - 8:25 (505sec), 52606 TotS/s, 151.78 S/px
[レンダ時間 12.5%高速化, 秒間平均処理サンプル数 +7643 (14.5%改善)]

上記以外にも十数通りほど最適化オプションの組み合わせをベンチマークした中で
一番良い組み合わせを採用したので、まぁ間違っても遅くはなっていないはず。

当然自分の環境での性能を優先した最適化なので、世の中は64bitに向けて進んでるのに
Core Duo(32bit)でSnow Leopard向けという非常にニッチなビルドが出来上がる結果にw。

需要は少なそうだけど初代MacBookやMac miniにスノレパいれてがんばってる人向けに
とりあえず公開してみる。


lux0.6-opt013_i386_osx10.6.zip


Core2 Duoでも動くかもしれない。
64bit環境で公式ビルドより早いかどうかは、SSE3やその他の最適化による高速化と
非64bitコードによるマイナスの影響どちらが大きいかによる感じ。

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

2009年11月25日水曜日

XcodeでLuxRenderをビルドしてみた

やっとLuxRenderの自前ビルドに成功した。
ちゃんとblenderからレンダリングもできた。


適当すぎるテストシーン。

先週末にwineのビルドをllvm-gccで試してみたら思った以上に効果があった。
で、LuxRenderもllvm-gccでビルドしたらだいぶ早くなるんじゃ?と思いついてから
いろいろ調べ始めて、実質ほぼまる一日くらい?やっとというほどでもないか。

このへんを参考にしてみたけど、アップされてるプロジェクトファイルが古いこともあり
自分の環境(Snow Leopard、Xcode 3.2.1、Core Duo)ではうまくいかず。
結局自分でcmake -g Xcodeしてプロジェクトファイルを作成、Xcodeでビルド実行。

ただソースアーカイブのCMakeLists.txtそのままだとBoostのライブラリが見つからず
ビルドが止まったり、正しくリンクができてないのか実行できなかったり。
Boostのチェックとライブラリの設定箇所を編集すればOKだった。

具体的には
108行目あたりのELSEIF(APPLE)以下のSETで始まってる2行をコメントアウト。
代わりにその直後の行に
SET(Boost_LIBRARIES boost_thread-mt boost_program_options-mt boost_filesystem-mt boost_serialization-mt boost_iostreams-mt boost_regex-mt)
を追加。

もちろんboost以外にも必要なライブラリはインストールされていないといけない。
自分の環境ではすべてMacPortsで入れたものを使用。
ライブラリを自前でconfigure、makeしてインストールした場合はCMakeLists.txtの編集
内容とかも変わってくるのかもしれない。

あとcmakeで作成されるプロジェクトファイルではデフォルトのターゲットがPPCっぽい。
 Intel Macな環境の場合は適宜設定が必要。

というわけでこれから最適化オプションをいじってみる。
少しでも早くなるといいなぁ。

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

2009年11月18日水曜日

LuxRenderのTIPSとFAQ - その3

前回からTIPSのつづき。やっと半分くらい。


夜の風景を作るには?

LuxRenderのレンダリングエンジンでは物理モデルによる夜や夜間の空はサポートされていません。(他のソフトウェアでサポートしているものはいくつかあるようですが。)

夜空や星空のHDRマップを試してみるといいんじゃないかと思います。
メッシュエミッタを設定したエリアライトとして月のモデルを作成して、エミッタの色を実際の月の光に近いもの(詳細は自分で調べてください。)に設定してみるとか・・・。
ちょっとした工夫が必要かもしれませんがどうにかなるんじゃないでしょうか?



ガラスの質感を上手く出せません

上手く質感を表現できなくても異常なことではありません。
みんなガラスの表現には悩んでいます。



結局exit portalってなんなんですか?

exit portalはシーンに配置して光路を最適化するためのオブジェクトです。
カメラがオブジェクトの内部、たとえば部屋の中などの屋内にあり、メインの光源がそのオブジェクトの外にある場合に有効に使用できます。空や太陽が室内を照らしている場合などです。

exit portalを使用してレンダリングすると、光源からの光がどこを通過してくるのかという情報を追加してレンダリングエンジンに指定することができるようになります。
そのためより効率良く光路の処理を行うことができ、レンダリングのスピードが向上します。



建物の窓ガラスって作っておいたほうがいいんでしょうか?

ガラスに関してのtipsをあげておきます。

・屋外のシーンの場合
窓ガラスがあるほうがいいでしょう。

・屋内のシーンで、光が屋外の光源から入ってくる場合(太陽の光やsunsky、HDRを光源としている場合)
レンダリングのスピードが遅くなる場合があるのでちょっとしたトリックが必要です。
このような状況では普通にレンダリングするとシーンのオブジェクトが外部の光源により照らされるまでのパスの処理において屈折が2回余分に加わることになります。そこでこういった状況での問題を解決するにはAGM(Architectural Glass Material)を利用します。maxwellに同様のものがあります。これは光の屈折を起こさず、透過や反射といった現象だけが有効になっているガラスのマテリアルです。もちろんLuxRenderでも利用できます。

とりあえずカメラの位置やシーンの詳細が決まるまでは窓にガラス板のオブジェクトは入れなくてもいいでしょう。窓ガラスを設置する必要が出てきたら、その時はポータルも同時に設定するといいでしょう。ポータルの設置で注意が必要なのは、決して窓ガラスの内側にポータルを置かないことです。建物の外側の窓枠あたりで、窓ガラスに接するくらいに近づけておけばよいでしょう。

・外が暗かったり、屋内の光源で部屋が照らされているようなシーンの場合
上記のような設定にしておけば窓ガラスで反射はするので、ガラスに部屋の明かりが正しく映り込むようになります。



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

2009年11月12日木曜日

LuxRenderのTIPSとFAQ - その2

昨日のつづき。まだまだある。


環境光のSunSkyのパラメータ

rotationの数値はシーンの周囲の空を回転させるためのものです。普通はあまり使う必要は無いと思います。
gainは空や太陽からの光の強さを変更するためのものです。シーンに他の光源が存在する場合に環境光の明るさを調整するのに使えます。
resizeは太陽の大きさを変更するためのパラメータです。普通はいじらないほうがよいでしょう。



マテリアルのプレビューが表示されない

最近のCVS版ビルドかweeklyのウィンドウズ版ビルドを使用する必要があります。
GUIとコンソール両方のバージョンをダウンロードしてください。
パスの設定はluxconsoleがあるディレクトリを設定してください。コンソール版をダウンロードしている場合はそのパスがluxconsole.exeがある場所です。

LuxBlendのsystemタブでそれらのパスの設定をしてください。



LuxBlendのマテリアルに表示されている内容が変わらない、何かがおかしい

あなたはあるオブジェクトを選択していて、LuxBlendでそのオブジェクトのマテリアルを編集しているのだと思います。おそらくblenderでそのオブジェクトにマテリアルが設定されていないため、LuxBlendでマテリアルを操作しても結果が正しく反映されていないのだと思います。

オブジェクトを作成したらまずはblenderでマテリアルの割り当てをして、マテリアルに適切な名前をつけておいてください。そうしておかないとLuxBlendはマテリアル設定でそのマテリアルを見つけることができません。LuxRenderのレンダリング結果に変更を反映させたいのであればblenderではなくLuxRenderでマテリアルの設定をしなければなりません。ただし、オブジェクトへのマテリアルの割当とマテリアル名の設定だけはblenderで一番始めに行ってください。



レンダリングをあとで再開できる?

手順を簡単に説明するとこんな感じです。
1. LuxBlendで"write/resume FLM"スイッチをONにしてレンダリングを開始する。
こうしておくとLuxRenderは定期的にFLM形式で画像を保存するようになります。
2. LuxRenderを終了する。
3. LuxRenderで続きをレンダリングするときには同じシーンファイルを開いてそのままレンダリングを始める。(※FLMファイルはシーンファイルではありません。)
するとLuxRenderは以前のレンダリング結果の保存されたFLMファイルを見つけて、そのまま続きをレンダリングします。

以前jeanphi氏が書き込んでいたようにv0.5のウィンドウズ版のリリースでは、このレジューム機能が正しく動作しないようです。なので最近のビルドをweekly buildフォーラムから入手してください。



exponent = 面の粗さ

0 = 完全にざらざら。(この設定はしないこと。代わりにmatteマテリアルを使用。)
100 = すごい粗い
250 = やや粗い
500 = 普通
1000 = なめらか
10000 = つやつや
100000 = すごくぴかぴか



アルファマッピングでトラブル

以下のことを試してみてください
1. tgaファイルの代わりにpngファイルを使って、なにか変化があるか確認してください。
2. LuxBlendでアルファマスクに設定したチャンネルのgammaのパラメータを変更してみてください。値を大きくしてみると透過するようになったりしませんか?1.3、1.7もしくは2.2とかの値を試してみてください。

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

2009年11月11日水曜日

LuxRenderのTIPSとFAQ - その1

LuxRenderの公式フォーラムのあちこちのスレッドで質問された内容とその回答を
まとめたスレッドがあるのを発見。TIPSやFAQ集として役立ちそう。
結構量があるので抜粋しつつ、サイトに載せる前にこっちで少しずつ訳してく感じで。



カメラとレンズシフト

いつも私がやっている方法はカメラをおよそ人の目の高さと同じくらいの位置に水平に設置します。この時地平線に向かってまっすぐにして、見上げたり、見下ろしたりするような角度はつけません。そしてShiftYの値を大抵数メートルほど、人間の視界でいうと2階からの眺めと同じくらいになるまで追加します。2階からの眺めであればほとんどのビルが全て視界に収まり、平行投影を使う必要もありません。



効率とワット数

効率(efficacy) = 光量子、つまり光に変換される電気エネルギーの総量。現実のランプのほとんどではわずかな量の電気エネルギーしか光に変換されず、残りは熱になってしまう。
ワット数(watts) = ランプに送る電気エネルギーの総量

詳しくは下記を参照のこと。
http://www.mts.net/~william5/library/sources.htm

LuxRenderでランプを設定するにはそれぞれの強さを設定するだけで済む。
ただし人間の瞳孔が網膜に入る光を調整するように、LuxRenderでも照明による明るさはトーンマッピング処理により調整されることを考慮しておく必要がある。

もし一つのランプしかシーンに存在しないのであれば、wattやefficacyの値を増減させてもトーンマッピング処理により明るさは調整されてしまうため出力画像に何も変化は表れないだろう。
複数のランプがシーンに存在し、それぞれのランプの設定値の大きさが異なるときのみ違いが出てくる。

トーンマッピング処理とそれによる明るさの調整の影響も含めた上で一つかそれ以上の数のランプ全体の明るさを調整したいのであればデフォルトのreinhardトーンマッピングの場合であればpost_scaleとburnのパラメータを調整する必要がある。LuxBlendでこのパラメータを設定するのであれば少し見つけづらいかもしれないが、"film"タブに項目がある。もしくは、こちらの方がお勧めだが、レンダリングの最中にLuxRenderのGUIでリアルタイムに調整をすることもできる。調整のためのスライダーはGUIの左側にある。



光の強さ

ワット数は電球の仕事の大きさであり、効率はlm/Wで定義されている。つまりこれらの結果からランプの光の強さはルーメンで定義されていることになる。



32bit環境でのクラッシュ

win32バージョンでは実際に十分なメモリが確保できないためクラッシュすることがあります。32bit環境ではプロセスが利用可能なメモリはたった1.5GBに制限されています。
そのため、大きな出力サイズでのレンダリングを行う場合には(1チャンネルあたりで32bitしか使えないため)内部的に出力に割り当てることができるメモリはほんのわずかになってしまい、メモリの処理が非常にトリッキーで不安定なものになってしまうのです。



金属のマテリアルでクロムが作りたいんだけど?

好きな金属のマテリアルを自由につくるにはshinymetalのマテリアルが使えます。



ディスプレイスメントマップがうまくいかない

設定値が適切でないからです。2.4mの変位をジオメトリに与えたいとします。
このときコントラストや変化の少ない画像をディスプレイスメントマップとして使うと、ジオメトリの面全体がほぼ2.4m変位することになります。

dispmapの値を0.2や0.02といった程度にして、テクスチャの一部が0、他の部分が1になるようなはっきりとしたコントラストがある画像を使用してみてください。


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

2009年11月6日金曜日

カーボンのつづき

昨日に引き続きLuxRenderでカーボンのマテリアルを試行錯誤。
それっぽくなってきた感じなので、適当な形状にマテリアルを設定してレンダリング。



角度を変えてもう一枚。
近くによるとスペキュラのテクスチャがやっつけすぎなのがばれるw



トップコートにクリアを吹いたっぽく、もう少し光沢が欲しいところ。
あと色もっと黒っぽくしたほうがよさげ。

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

2009年11月5日木曜日

カーボンやステンレスなどの異方性マテリアル

ツールマークやヘアラインが入ったステンレスや積層カーボンなどの異方性マテリアルを
作りたくなっていろいろテストしてみた。

結果はこんな具合。



カーボンならもっと黒っぽいほうがよかったかもしれない。
あとパターンがやや大きいのでカーボンというより雲母みたいな感じ。
ソニーのノートPCでこんなテクスチャデザインのがあった気がするw。

とりあえずマテリアルは"metal" -> "amorphous carbon"を選択。
で、異方性を出すためexponentの値をx、yで変えてみたものの狙った結果にならない。
引き抜きや絞り加工したステンレスみたいに方向性が連続してるものならexponentだけ
でもいいのかもしれない。よく目にする、いかにもカーボンっぽい感じを出すにはspecular
にテクスチャ適用というよくあるやり方が一番効果的という結果。

あと、なんとなく選んだ"PHILIPS [ML 160W] Self-Ballasted HPM Vapor Lamp"
が思いのほかいい感じだった。今回のテーマとは関係無いがとりあえずメモ。

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

2009年11月2日月曜日

blenderとUnityでゲーム開発環境を構築?

blender.jpに記事が紹介されていたUnityというゲーム開発環境らしきものが
気になったのでちょっと調べてみた。SIO2みたいなものなんだろか?

ここからダウンロードできるらしい
http://unity3d.com/unity/download/

他のページにビルド時の配布プラットフォームの選択のような説明があったんで
OSX版でwin向けのパッケージをビルドしたり、その逆もできるのかもしれない。
SIO2がiPhone/iPod touch専用なのに対して、Unityはそれ以外にwin、macが
開発環境としても、つくったゲームの配布対象としてもサポートされてるのは良さそう。


なんとなく何ができるのかはおぼろげに想像できるんだが、わからんことだらけ。
具体的な資料とか情報が欲しいので探す。

ドキュメントのページがあった
http://unity3d.com/support/documentation/

ビデオチュートリアルがあるらしいんで、雰囲気をつかむべくひととおりみてみる
http://unity3d.com/support/documentation/video/index.html

操作してる様子とかを見る限りやFlashとかのオーサリングソフトの3DCG版っぽい感じ。
そんなにとっつきは悪くなさそう。一瞬見えたリソース追加のポップアップメニューに
C#とかJavaScriptってあった気がする。
コマンドラインで使うツールチェインというよりeclipseみたいなIDEっぽい感じ。


コードの編集はどうやるんだ?と思いつつ他のページをみてるとチュートリアルを発見。
http://unity3d.com/support/resources/tutorials/

FPS Tutorialっていうのが面白げなので見てみるとドキュメントと
プロジェクトファイル一式がダウンロードできるみたい。
http://unity3d.com/support/resources/tutorials/fpstutorial

他にも「初心者はこれから始めるのがおすすめ」的な解説があった。
http://unity3d.com/support/documentation/Manual/Unity%20Basics.html
 

思ったよりドキュメントやチュートリアルがあるのでそんなに敷居は高くないかも。
まずは最初のドキュメントのページを中心に地道に調べていくのが良さそう。
結局コードの編集とか開発言語は何がどう使えるのかとかは未確認。

ライセンスはフリーになったらしいが、30days trialって書いてあるし使用期限がある?
使用および配布の条件やライセンスの違いなどは要確認といったところ。
利用規定をチェックのうえ自己責任でどうぞ。


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

2009年10月31日土曜日

sunskyで時間帯にあった照明環境をつくってみる

意図した時間帯をライティングで表現したいときがあります。
特に屋外のシーンでありがちですが、たとえば早朝とか夕暮れ時とか。

LuxRenderでは太陽の位置と空の様子を簡単に設定できるsunskyという光源が利用できる
のでそれを使ってみました。使い方は以前調べていましたが、ちゃんとレンダリングで試す
のは初めてになります。設定などはこちらの記事を参考に。


肌寒い日も多い今日この頃、夏の日差しが見たくなったので日付は2009年8月1日に設定。
時刻は朝、昼、夕方の3パターンで考えて、5時、11時、17時を設定してみました。
時刻以外のレンダリングやシーンの設定は変更していません。

まずは朝5時から。



空が明るくなってきた頃の様子。伸びる影のせいで画面外のフェンスの省略がばれてます。
日差しが強くなる前の影の薄い感じや、朝焼けでややピンクっぽい光も雰囲気がでてます。
次は昼11時。



朝とは対照的な昼間らしい光で影もはっきりでます。太陽の位置もちゃんと南中直前と
いった感じになっています。
最後に夕方17時です。



ちゃんと夕焼けになってます。
わかりづらいですがフェンスや土台の影が長く伸びているのもそれっぽいです。
8月なので日没前でまだ明るいですが、あと1時間程で日が落ちて涼しくなって来る頃です。


こんな感じで日付と日時の指定だけのお手軽な設定のわりにそれっぽい雰囲気になります。
このsunskyの照明に補助光源を追加していってもいいですし、空の様子などは自分で全て
照明を設定する際の参考としても良さそうです。

ただ気になるのはレンダラによって明るくなりすぎたり、暗すぎたりと相性が強かった点。
光源の種類や屋外・屋内といったシーンの種類に対するレンダラの相性は常に存在しますが
今回のシーンのように光源である太陽と空の状態の影響を、ダイレクトに大きく受ける状況
だとレンダラごとの違いが大きくでるようです。 

今回試した中でそれぞれの時間帯の雰囲気をうまく再現できたのはbidirectionalでした。
上の画像も全てbidirectionalを使用しています。

ただし画像を見てわかるようにbidirectionalはノイズが出やすいのが難点。
レンダ時間が短いのもありますが、光源とオブジェクトが特定の位置関係の場合にノイズが
出るような感じもありもう少し上手い使い方を考える必要がありそうです。

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

2009年10月28日水曜日

ポータルを使ってみる

よくわからないので使っていない機能がLuxRenderにはまだまだあるわけですがportalと
いうのもそんなものの一つでした。今回のマニュアル翻訳のついでに試してみましたが、
結論からいうとこれはかなり便利そうな雰囲気です。


まずはシーンをつくってみます。
閉空間に窓を1ヶ所あけて、そこから入ってくるsun lightで室内が照らされる状態。




ノイズの様子をみるため、あえてこういったシーンが苦手そうなbidirectionalで
レンダしてみます。まずはポータルなしでローカルマシンのみで15分。




ポータルを設定するとこんな感じ。同じくローカルマシンで15分。



全体的にノイズが出ているのは変わりませんが、ポータルありの場合は黒い箱の左右の床や
スザンヌの右側に縦に入っている目立ったノイズが無くなっています。
TotS/sは約7300から5300に低下しているのにノイズは少なくなるという結果に。


雰囲気がつかめたので各種設定を詰めて再度レンダリングしてみるとこんな具合。



上2つと同じローカルマシンのみで15分の結果ですがだいぶノイズが減りました。
あと少しレンダを回すか、denoiseでごまかすかでノイズが気にならない状態にできそう。


光路を限定し無駄なサンプルを省略して、レンダリング結果への貢献度が高いサンプル
を優先的に処理することでレンダの効率化を図るポータルはかなり有効なようです。
また、LuxRenderでたまに光が壁を抜けることがありますが、最初の画像の縦ノイズの原因
も光抜けかもしれません。ポータルの原理を考えると光抜け対策としても使えそうです。

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

2009年10月27日火曜日

LuxRenderのディスプレイメントマップ

 LuxRenderのディスプレイスメントマップ用のテクスチャは黒地に白で描かないとだめ。
モデル本来のジオメトリに対して黒が変位なし、白が変位ありという割当は固定。

blenderだとテクスチャのスイッチで白と黒の割当を反転できた気がしたので
同じ感じで適当に白地に黒で描いてたら嵌まった。
UV設定がいけないのか?、pngは読めないのか?とかテクスチャまわりをあれこれ
試したおかげでだいぶ詳しくなった気がする。
ちなみに変位方向、面から凸にするかor凹にするかは適用量の極性で指定する。
正なら凸、負なら凹の方向に変位する。

blenderのディスプレイスメントマッピングはあらかじめモデルのメッシュをそれなりに
細かく分割しておかないといけないが、LuxRenderではレンダ時に指定レベルで自動的に
分割してくれる。モデルを分割しておく必要は無いのでデータが軽いままで済むのは便利。
一通りやってみて慣れればそんなに使い方が難しいものでもないし。

blenderでSubsurfを設定している場合は、Subsurfによる分割面に対してLuxRenderの
自動分割が適用される。Subsurfをレベル3、LuxRenderの自動分割を2に指定すると
結果としてディスプレイスメントが適用される最終的な面の細かさはレベル6相当になる。

試した感じでは最終分割レベルが6〜10くらいになってればとりあえず良さそう。
あとはsmoothと組み合わせで微調整という感じ。

というわけで四角ポリゴン6枚の直方体にLuxRenderのディスプレイメントを適用すると
こんな感じに。同じテクスチャで左が適用量が負、右が正の場合。



いい具合に滑らか。実際にジオメトリが変形してるので光線の反射・屈折も反映される。
左の凹モデルのマテリアルをglassに変更してみるとこんな具合。



LuxRendrの光線表現の正確さと合わせて考えると、いろいろ面白い使い方がありそう。
回折格子とかにも使えるかもしれない。

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

2009年10月25日日曜日

Snow LeopardとLuxRenderとblender

メインに使ってるMacBookのOSをSnow Leopardに変更してから1ヶ月ほど。
とりあえず落ち着いてきたんでCG制作環境がらみのメモ。
OSアップグレードにトラブルはつきものだけど、基本的に今のところは非常に良さげ。


・LuxRender
v0.6finalの動作問題無し。
レンダリングサーバを設定してのネットワークレンダも問題無し。
Luxがfinalになってからクライアントでレンダを止めても、サーバ側のプロセスが落ちたり
することがなくなり正常に終了するので使い勝手がいい。


・blender
2.49bをメインで使用中。
フリッカの発生原因は以前書いたCPU負荷では無い感じ。
GMA950のドライバ周りはLeopardからだいぶ改善されたようだけどバックバッファの
扱いに問題が有るようで、それの影響でフリッカの発生につながっている様子。
 ウィンドウを最大表示しないか、OpenGLプロファイラでBackingStoreに1を設定で回避
できるので致命傷ではない。GMA950でまともに使えるようになったメリットは大きい。
その他はいまのところ問題無し。

2.5系も使ってるけど自分の環境特有の問題はなさそう。開発途中なので今後も様子見。


・その他
VoodooPower.kext
駄目元で試したらちゃんと使えたのでまじめに設定を詰めてみた。
コア電圧約-0.15vでテストしたら、レンダ時のCPU負荷100%が続くときで10度近く
温度が下がってる。前は80度突破も当たり前だったけど70度あたりで収まるくらい。
レンダリングで酷使しても気が楽に。というか夏のうちにやっとけばよかったorz。

950tune
Snow Leopard対応のXcode最新版を入れてreggie_seが使えるようにしたら動いた。
CPUの熱が減った分を有効に使って少しでもGPUにがんばってもらわないと。
blenderのベンチで10%程はスコアアップしてるのでそれなりに効いてはいるみたい。

SpeedFreak
これも相変わらず起動時にはエラーがでるけど、ユーザ認証後はちゃんと動いてるっぽい。

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

2009年10月24日土曜日

LuxRenderの2種類の金属マテリアルの違い

SSSが一段落したんで今度は金属のマテリアルについて覚え書き。

LuxRenderのマテリアルは数種類のタイプに分類されているのだけど、金属材料に特化した
マテリアルは2種類ある。shinymetalとmetal。

shinymetalはユーザがスペキュラーやディフューズなどのパラメータを自由に設定可能。
現実には無いようなマテリアルを作りたいとか、ひとまず金属っぽいマテリアルを設定して
おいて後から詳細な調整をしたい、なんてときにはshinymetalを選ぶのがよさそう。

metalは実際の金属材料を測定した物性データを用いて、それぞれの金属をモデル化する
ためのもの。材料の選択以外にできるのは表面粗さの設定のみ。
実際の金属材料を意図したマテリアルが欲しいならこちらを選ぶのが手っ取り早そう。
プロダクトデザインとかの初期検討で材料毎に比較をしたいとか、設計途中のCADデータを
流用してレンダを出したいといった場合は具体的な材料があるはずなのでこれは便利。

metalの材料には金、銅、アルミ、カーボン、銀がプリセットで用意されている。
これ以外にも測定データを読み込ませてマテリアルとして使用する事もできる。
n/k値をsopra形式で記録したものならOKらしいがよくわからないので調べてみた。
sopraというのは誘電率?とかの物性を測定するための測定機器メーカーらしい。
その会社の測定器の出力するファイル形式に準じていればLuxRenderが認識できるっぽい。

ライトのIESファイルと同じ様な感じ。ならばn/kデータも探せばどうにか入手できるはず。

で、探したら見つかったのでメモ。

http://www.sopra-sa.com/ - sopraのホームページ
ページ右上のDOWNLOAD CENTERから。登録が必要だったので試してない。

http://savannah.nongnu.org/projects/freesnell - FreeSnellプロジェクト
光学関連の物性データ測定とデータベース構築を目的としているみたい。

http://people.csail.mit.edu/jaffer/FreeSnell/nk.html - 上記の関係者らしき人のページ
データコンバータか何かの解説のようだが途中にn/kデータのダウンロードリンク有り。


LuxRenderでデータが読み込めるのはざっと確認したけど、使用にあたってのライセンス
などはチェックしてません。仕事や商業利用の場合は自己責任で確認と利用のこと。

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

2009年10月22日木曜日

SSSのつづき

だいぶましになったのでそれっぽいシーンでレンダリングしてみた。

blenderのシーンはこんな具合。
でっちあげの手と天井にエリアライト、手の後ろから光を照らすバックライト。



まずエリアライトだけでレンダリングするとこんな感じ。



これにバックライトで光を当てるとこんな感じに。



指の先から光を受けている手のひらにかけてのグラデーションはほぼイメージどおり。
人差し指や中指あたりでの表面の拡散と内部散乱のバランスもいい感じ。
全体的に抜けてくる光はもう少し赤みが強くても良かったかもしれない。

肉厚、特に手のひらの厚みが均一なので透け方に変化が無いのがもったいなかったかも。
その辺をもう少し作り込んで、中に骨とかもいれてみるのも面白そう。

今のところLuxRenderにはblenderの様なSSSを有効にするためのオプションや、SSS固有
のパラメータは用意されていない。なので、あらかじめblenderで設定した他のマテリアル
の設定とは異なりSSSは自動的にはLuxRenderのマテリアルに反影されない。

けれどスペキュラーやディフューズ、透過などの汎用的なパラメータの組み合わせで今回の
ような表現ができるので慣れてくるとそのへんは問題なさそうな雰囲気。

逆にSSSのような特定の現象を再現するためのオプションや一部のマテリアルだけに固有な
パラメータがほぼ無いのは、マテリアル編集時に結果が想像しやすく効率がよかったり、
固有のパラメータが支配的でないぶん自由度が増えたりして良いのかもしれない。

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

LuxRenderでSSSっぽい設定を試行錯誤してみる

 公式ドキュメントをざっとみたところ現状のLuxRender v0.6でSSSの設定は無いらしい。
ただしフェイクでSSSぽい感じは出せそうなのでいろいろ試してみた。



uの辺りを中心に凹ませた形状になってます。
肉の薄いところが透けてる感じはいいんだけど、きれいに透け過ぎというか内側での散乱が
足りない雰囲気。もっと中身が詰まっている感じを出したいところ。

透け過ぎるなら表面を荒らしたらいいんじゃ?と思ってやってみるとこんな感じに。



中身を詰めたんじゃなくて、ちゃんと表面だけを荒らしたように見える結果になってるのが
これはこれでおもしろい。

金属っぽい光沢感やガラスの透過光みたいにいかにもCGが得意そうな表現に目がいきがち
だけど、こういったCGらしくないぼんやりした質感も面白い。
人の肌の感じとかを表現するにはまだまだ足りない感じだけどしばらく試行錯誤してみる。

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

2009年10月20日火曜日

v0.6 Finalを使ってみた - ネットワークレンダリング編

というわけでつづきです。

高解像度の出力設定でレンダリングするべくネットワークレンダリングを使いましたが
他にもSAMPLER:metropolisに固定して、全てのINTEGRATORとの組み合わせを試して
みたりしました。解像度は220x300と小さいですがmetropolisサンプラーの雰囲気が
伝わるかとおもいます。(画像の点数が多いのでこちらの別サイトにまとめてあります。)

で、ネットワークレンダに関してですが安定性が向上しているのとサーバ側での処理効率が
良くなっている感じです。 以前はたまに思い出したかのようなタイミングでサーバが途中で
落ちたり、処理終了後もサーバ側でタスクが残ってしまい手動で止めることが有りました。
しかし、v0.6Finalでは今のところ落ちたりタスクが残る状況は一度も起きていません。

またログを追わなくてもサーバの処理状況を確認できるようになったのも便利な点です。
LuxRenderのウィンドウのNetworkタブでタスクに現在参加中のサーバごとのS/pxの値が
表示されるようになりました。S/px値は出力イメージを1ピクセル描画するのに現在いくつ
のサンプルが処理されたかを示す値です。

図の下の数字が現在のタスク全体のS/px値、上がそのサーバが処理した値です。
この場合は全体約141 S/pxに対してサーバはおよそ60 S/pxを分担している事になります。
処理の負荷率でいうとクライアントが57%、サーバが43%で分担している状況です。



同じ構成でいくつか他のシーンをレンダしたところ、サーバの平均負荷率は約45%でした。
クライアントのMacbook(Core Duo 2GHz、RAM2GB)に対して、全体の半分弱の仕事を
サーバが肩代わりしている事になります。

サーバというと凄そうですが、実はAtom330にRAM1GBの激安Linux機だったりします。

ケースやメモリは旧マシンの流用、HDDも余りのSDカード4GBをアダプタでつなぐという
寄せ集めですが、レンダリングサーバとしては予想以上のコストパフォーマンスでした。
調べてみたところ同様のマシンを作るのに必要なものを全部新規に購入したとしても
  • Atom330 M/B D945GCLF2 - ¥9000
  • mini-ITXケース - ¥5000
  • DDR2 RAM 2GB - ¥3000
  • USBメモリ 4GB - ¥1000
  • OS Ubuntu9.04 - ¥0
といった具合で合計1万8千円ほどで揃えられるようです。

サーバとクライアントで、OSの種類や32bitや64bitといったスペックがごちゃ混ぜでも
LuxRenderのバージョンさえ同じなら問題なくネットワークレンダリングできます。

PCを買い替えるほどではないが少しでも早くレンダリングしたい方、ノートPCでパーツの
交換ができない方などは安価で小型なレンダリングサーバとしていかがでしょうか?

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

v0.6 Finalを使ってみた - metropolisサンプラー編

 LuxRender v0.6もいよいよ安定版がリリースされたのでさっそく試してみました。
こちらのアナウンスによるとRC6からの変更はバグフィックスがメインのようです。
まぁRCというからにはそんなものでしょう。

更新で気になったのがmetropolisサンプラーとネットワークレンダリングの修正です。
何がどう変わったか詳しく調べられていないのですが、とりあえず試してみました。

SAMPLER:metropolisで既存のシーンをレンダリングしてみたところ出力イメージの描画が
早いというか、ディテールがあらかた出て収束するタイミングが早い感じです。
そのため従来よりも出力のノイズをつぶしていく段階に時間をかけられるので、結果として
これまでと同じ品質ならより早く、時間をこれまで通りかければよりノイズが少ない結果が
得られるという状況です。時間がかかりがちな静止画の出力にはとても有効そうです。

調子に乗ってほぼ720p相当の880x1280の解像度で静止画をレンダリングしてみました。
画像クリックで原寸サイズで開きます。容量が大きすぎたのでjpgに変換してあります。



時間がかかりそうなのでサーバを設定してネットワークレンダリングしてみました。
これまでならネットワークレンダでも間違いなく1時間オーバーを覚悟するところですが
今回は40分で終了。普段のVGAくらいのサイズなら20分くらいで終わりそうな勢いです。

ネットワークレンダに関しても改善が見られたのですが長くなったのでこちらに続きます

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

2009年10月16日金曜日

同じシーンをblenderとLuxRenderでレンダリングしてみた

OSのアップグレード以降非常に好調です。
なので普段やらないことも試してみたくったのでちょっとしたテストをしてみました。
同じシーンをblenderとLuxRenderでそれぞれレンダリングして比較してみました。

まずはblenderのスクリーンショット。球体にヒビが入って割れかけているようなモデル。
上、中左、中右、下と4ピースに分かれています。これに透明なマテリアルを指定して
ポイントライト1つでレンダリングしてみます。




まずはblenderでの出力から。設定はAO、透過、反射、影の4項目全てにレイトレース、
OSAは5を指定しています。レンダリング時間は約46分。



ヒビの影を写した柔らかい半影や屈折の表現などはスキャンラインでのレンダリングしか
出来なかった頃とは大違いです。OSAは最低限ですがノイズやジャギーも目立ちません。
ただパストレースやフォトンマップは使えないためコースティクスが出せないのが残念。


つぎはLuxRenderの出力。INTEGRATORはexphotonmap、マテリアルは球体は
プリセットのglass、床はmatteです。レンダリング時間は約40分。



球体のガラスの質感や影のなかのコースティクスがいい感じです。
ポイントライトでは半影が出せないのでエリアライトに照明を変更してみました。



レンダ時間は42分。影が柔らかくなりましたがコースティクスがだいぶ派手になってます。
また安直にポイントライトを削除して、同じ場所にエリアライトを追加したせいか反射が
強調されすぎてガラスというより銀や鉄など金属っぽい質感に見えます。
コントラスト差が大きい部分のノイズも若干目立つのでサンプル数を増やすか、もう少し
レンダ時間をかけても良かったかもしれません。


LuxRenderはさすがに"physically based and unbiased"というだけあり、物理的な光の
性質に依存する表現は正確です。リアルな結果を得るためにレンダリングやマテリアルの
設定をそれほど細かく調整する必要がないのも便利なところです。その反面、設定次第で
レンダリングの時間がだいぶ変わってきますが・・・。

ちなみに今回のLuxRenderでのレンダリングは40分ほどですが、使い始めてすぐの頃に
同じシーンファイルをレンダリングしたときは、2時間ほどかけて今回よりノイズが多い
絵しか出せませんでした。

blenderのレイトレースは古典的で厳密に物理現象を表現するのには向いていません。
しかし処理の早さ、ノイズの少なさ、設定により幅ひろい絵作りができるなど利点も
多いです。

定番かもしれませんがblender内蔵レンダは動画やトゥーンなどのNPR向け、LuxRenderは
フォトリアルな静止画向け、というように上手に使い分けていくのが良さそうです。

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

2009年10月15日木曜日

LuxRenderのレンダリングを終了させる方法

LuxRenderについて扱っているホームページやブログを見ていると
・レンダリングがずーっと続くので適当なところでファイルを保存して終了させる
・やたら時間がかかる
・ノイズが無くならない
というような内容をみかけることがあります。

Indigoがそんな感じだったのでLuxRenderもそうなのだと自分も最初は思ってましたがw
レンダリング設定で適切な内容を指定できるようになると状況はだいぶ変わってきます。

例えばblenderの内蔵レンダラーのようにレンダリングが終わるようにしたければ

Render->SAMPLER:lowdiscrepancy, PixelSampler:tile
Output->haltspp:1

といった設定をするのが手っ取り早いです。
レンダ出力画面の左上からタイル状に処理が始まり、右下まですすめばレンダリングが
自動的に停止するようになります。

他のソフトのレンダリング設定は主にINTEGRATORの設定に該当する内容だけだったり、
SAMPLERの設定がINTEGRATORの設定に依存していたりするものが多く、SAMPLERの
設定が完全に独立しているものは少ない気がします。

LuxRenderではSAMPLERとINTEGRATORでそれぞれ設定可能なオプションに特徴が
あり、それらの組み合わせを選ぶ事で幅広い設定ができるのですが実際に試してみないと
わかりづらい部分でもあるかと思います。

公式ドキュメントではSAMPLER:metropolisINTEGRATOR:exphotonmapあたりが
おすすめっぽい雰囲気なのでこの組み合わせから試してみるのもいいかもしれません。

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

2009年10月13日火曜日

OSを変えてみる

普段メインでつかっているmacbookが戻ってきた。
修理するはめになって初期化されてもいいようにバックアップもしてある。
で、いい機会なのでSnow Leopardにしてみた。
blender2.49b、LuxRender v.0.6RC6ともに動作に問題なし。

Leopardで問題だったLLVMだかダブルバッファ処理やらが改善されているようで
blenderを通常起動してもUIがもたついたり全画面で描画がバグる事が無くなった。

たまにblenderの分割ウィンドウの枠がちらついたり、古い表示内容が残ったりする
こともあるけどLeopardに比べたら普通に作業できるレベル。
CPU負荷が高いとそうなるっぽい。次のアップデートでintelのIGPのドライバが
改善されるという噂もあるみたいなので期待して待ってみる。

blenderの簡易ベンチマークで比較すると大体こんな感じ。Leopardひどすぎw

Snow Leopardで通常起動:360 op/s
Leopardで通常起動:   8 op/s
Leopard&pixelフォーマット最適化して起動:130 op/s

Tigerで通常起動 300 op/sくらいだった気がするのでその頃と同等以上。
 Geforce9400搭載の現行モデルだと780 op/sあたりだったかな。
それに比べると半分弱とだけどゲームしないし、作業できるレベルなので問題無し。

グラフィックの改善以外にも処理が速くなってたり動作が軽くなってると感じる部分が
多く、しばらく今のマシンでいけそうな感じ。 これで3000円はお得かもしれない。

2009年10月8日木曜日

レンダリング設定ごとのサンプル画像 - 3

2回目からの続きです。残りのdistributed pathとigiです。

まずはINTEGRATOR: distributedpathから
distributedpathの設定はデフォルトのままです。






samples:64 (16m40s)
samples:128 (42m42s)
samples:256 (1h13m32s)

時間がかかる割にはそれほど目をひく結果ではない感じ。
公式ドキュメントによると「パラメータが多いため適切な設定をするのは難しいかもしれない」
とのことなので設定次第で大きく変わってくるのかもしれません。


最後のINTEGRATOR: igiです。
これも同じくigiの設定はデフォルトのままです。






samples:64 (8m57s)
samples:128 (17m41s)
samples:256 (38m32s)

レンダリングも早くすみ、間接光などの表現もいい感じです。
クセのあるノイズも少ないため使いやすそうです。


以上の結果を比較してみると透明な物体のコースティクスや透過光をきれいに出力
したいのであればexphotonmapとdirectlightingの組み合わせが良さそうです。
それ以外の場合では品質と処理時間のバランスがよいigiといったところでしょうか。

公式ドキュメントをみるとexphotonmapとigiはどちらもexperimentalとなっているので
さらなる性能の向上を期待したいところです。

レンダリング設定ごとのサンプル画像 - 2

前回からのつづきです。
環境などはそのままにINTEGRATORを変えてどんどんレンダリングしていきます。

INTEGRATOR: bidirectional
bidirectionalのオプションはデフォルトのままです。






samples:64 (10m58s)
samples:128 (21m41)
samples:256 (46m45s)

コースティクスがきれいに出ますが、256サンプルでもノイズが残っているので
さらにサンプル数を上げたりdenoiseをかける必要がありそうです。


次はexphotonmapです。exphotonmapでは作成したフォトンマップのレンダリングに
direct lightingとpathのどちらを使用するか指定できるので両方試してみました。

まずはINTEGRATOR: exphotonmapとdirect lightingの組み合わせ
その他のオプションはデフォルトのままです。






samples:64 (13m17s)
samples:128 (26m37s)
samples:256 (53m26s)

サンプル数が64でも癖のあるノイズが少ないので使いやすそうです。
ガラスの素材感と壁への反射光や台への透過光もいい感じです。


次はINTEGRATOR: exphotonmapとpathの組み合わせ
こちらもその他のオプションはデフォルトのままです。






samples:64 (5m25s)
samples:128 (10m22s)
samples:256 (25m20s)

pathとの組み合わせでは時間は半分以下になるものノイズが増えてます。
bidirectionalのノイズと同じような感じでちょっと気になる出かたです。


さらに続きます。

レンダリング設定ごとのサンプル画像 - 1

LuxRenderではさまざまなレンダ設定が選べますが、オプションがいろいろあるため
どの設定でどんな出力が得られるのか慣れていないと把握しづらいともいえます。

というわけでレンダ設定ごとにどんな画像が出力されるのかテストしてみました。

シーンファイルは昨日のIESファイルのテストに使ったシーンを流用します。
Suzanne(猿の頭モデル)のマテリアルはglassに変更して、さらにカラーノイズへの
耐性を見るため、Dispersive Refractionを有効にして屈折光に色がつくようにあります。
 
INTEGRATORの種類を変えつつ、SAMPLERのサンプル数ごとのノイズの状態を
みるためにsamplesの値も64、128、256の3パターンでレンダリングしてみました。
出力画像サイズは320x480です。その他のレンダ設定は下図を参照。



テストの環境はこんな感じ。
Windows Vista、Core 2 Duo 2GHz、RAM 2GB
LuxRender v0.6RC6、Blender 2.49b

まずはINTEGRATOR: pathから。pathのオプションはデフォルトのまま。
カッコ内はレンダリングにかかった時間です。






samples: 64 (3m45s)
samples: 128 (8m52s)
samples: 256 (16m32s)

サンプル数64だとノイズが目立ちます。
256にするか、128でdenoiseを有効にすると良さそうです。

縮小されて違いがわかりづらい場合はリンク先の原寸ファイルを見てください。
ほかのINTEGRATORも試しているので以降につづきます。

2009年10月7日水曜日

LuxRenderでのIESファイルの使い方 - 3

前回からのつづきです。
とりあえず準備ができたのでLuxRenderでレンダリングしてみました。

ライトが上からオブジェクトを照らしているシーンを作ります。
左からblenderの3Dウィンドウ、レンダ画像、Luxでマテリアル設定したレンダ画像です。








IESファイルは前回ダウンロードしたものからAS1_150S_SR5Sと、802AZ_(200A23)
というのを選んでみました。ビューワで表示するとこんな具合に見えます。
左がSR5S、右が802AZです。






このIESファイルをLuxRenderのライトに設定します。
ライト設定で"Photometric Diagram"をONにするとファイルを選択できるようになります。




IESファイルをライトに設定してレンダリングした結果が下の2つ。
レンダリング時間はIESファイルを設定しても変わらないようです。
先ほどと同じく、左がSR5S、右が802AZです。





左のSR5Sは屋外照明用ランプだったようで野球場のスタンドライトのような具合に。
右の802AZは室内のダウンライト向けのランプのようで、やや明るいですがいい感じです。

IESはそのランプが照射する光の空間と距離に置ける光の強弱を記録しているようです。
波長には影響を与えないので、IESファイルと光源の波長との組み合わせを考えると
照明設定の幅が非常に広がることになります。