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ファイルと光源の波長との組み合わせを考えると
照明設定の幅が非常に広がることになります。

2009年10月6日火曜日

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

LuxRenderでのIESファイルの使い方の続きです。

CGArenaのこちらの記事 → ページのまんなかあたりの"Download from here"

からIESviewerのセットアップファイルをダウンロードします。
rarファイルを展開して中のセットアップファイルを実行すればインストール完了。

起動すると下図のようなウィンドウが表示されるので、ファイルツリーから適当な
IESファイルを選択すると赤い線でレーダーのようなものが表示されます。



これでもまだピンとこないので図の緑色で囲んだボタンを押してみると



レンダリングされたイメージが表示されるのでこれなら安心です。
レンダリングは一瞬、ほぼボタンを押した瞬間に表示されるので非常に便利。

これでよさそうなIESファイルを探してLuxRenderのライトとして設定してみます。
次につづきます。

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

こちらで取り上げられていたIESファイルによる照明をLuxRenderで試してみました。

IESとは大雑把に説明するとランプがどのような光を出すかを記述したファイルです。
実在する照明器具のIESファイルをCGのライト設定に反映できれば、その照明が
だす光をそのまま再現できるというわけです。

このIESによるライト設定機能が次期yafarayには搭載されるとのことですが
LuxRenderはこの機能がすでに実装されており利用可能なので試してみました。


まずはIESファイルを入手します。

照明器具の会社と思われるLITHONIA LIGHTING社のホームページから入手可能です。

トップページ上部の"Resources" → 次ページの上から2番目の"Photometrics"

とリンクをたどるとIESファイルのダウンロードページにたどり着きます。
用途向けに分類されていますが、一番上の"ALL PHOTOMETRIC DATA FILES"
というのが全部入りの雰囲気を漂わせているのでそれをダウンロードします。

zipファイルになっておりファイルサイズはおよそ14MBほど。
展開すると容量40MB、ファイル数は約4700個の大量なIESファイルがでてきます。
IESファイルはテキスト形式で記述されているので、テキストエディタなどで中身を
確認することはできるのですが・・・。



このままではどんな光を出すライトなのか判らないため、IESファイルのビューワを
ダウンロードしてきます。

長くなってきたので次に続きます