2010年4月10日土曜日

FreeStyleのスタイルモジュールの改行コードにはまる

スタイルモジュールの改行コードはLF(UNIX形式)かCRLF(windows形式)でないと
FreeStyleが正しく読んでくれない模様。

blenderのGUIでのスタイルモジュール指定時や、Freestyleがスタイルモジュールの
解釈を始める時などにincompatible file format的なエラーが表示がされたりすれば
気が付いたかもしれないが、ログを見ても何もエラーがでてないのでしばらく原因が
分からずしばらく嵌る。


FreeStyle統合版のblenderであれこれやるときはエディタでスタイルモジュールを
書きつつテストレンダという流れで作業をすることが多いかと思います。
自分の場合blender内蔵のテキストエディタは以前ちょっと痛い目を見たのでmiを
使ってスタイルモジュールを書いています。

が、たまにスタイルモジュールがまったく反映されないことがあるんで調べてみたら
miで新規作成すると文字コードがUTF-8、改行コードがCR(Mac形式)なテキストと
してファイルが作成されるからだった。とほほ。

これまで動いてた内容に全部戻してもまったく線が描画されないし、もしかして
最近のビルドで仕様が変わったんじゃ?と思いあれこれドキュメントを探してみたりw
いやーあせった。


ところでCRLFなwindows形式の改行コードだとどうだろう?と思って試してみると
当たり前のようにスタイルモジュールの内容はレンダ結果に反映される・・・。

絶望したーっ。iPadで注目を集めてみたり、iPhoneが好調で天狗になってみても
所詮世の中の多くはwindowsユーザー、バリバリの開発者は*nixってことなんですよ。
osxだけにスポットライトが当たるところでは存在感を発揮しても、そこから少しでも
外れればまったく存在感なし、いるのかどうかさえ分からないようなmacに絶望したーっ。


ちなみに改行コード以外に文字コードの影響は無いのかと思い調べてみたところ
そちらは特に問題ない模様。なので、

・一昔前のwindowsでありがちな、文字コード:Shift jis、改行コード:CRLF
・一昔前のUNIXでありがちな、文字コード:euc-jp、改行コード:LF

で作成したスタイルモジュールもちゃんと反映されました。


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

2010年4月5日月曜日

OSX版 LuxRender v0.7RCでレンダしてみた。

メインのMac環境でv0.7RCが動いたのでファイルが残ってたこのシーンをテストレンダ。
下がレンダ結果、一枚目がガウスブルームのみ、二枚目はさらにグレアを追加したもの。
v0.6に比べガウスブルームの効きが弱く、逆にグレアがかなり強く効くようになった感じ。





初めに普段と同じくらいの設定でガウスブルームを入れてみたらあまりぼんやりというか
モヤッとしない。あれ?パラメータの効きが変わったのかなと思いつつ、さらにこれまた
いつもと同じ感じでグレアも入れたらかなり強烈にぼけぼけでモヤモヤになり驚いた次第。
LuxRenderでこのやわらかい雰囲気は目新しくておもしろい。従来のガウスブルームや
グレアとの組み合わせとはちょっと違った感じで、朝もやとか夢の中とかっぽいかも。


レンダ時間は手元のCore Duo 2GHzのMacBookとサーバのAtom330でレンダ15分、
ポスプロでちょっと遊んで5分の合計20分くらい。

正確には開始から18分ほどで一枚目を保存、20分くらいで2枚目を保存といった感じ。
以前からそうだったけれど、ライトグループによるライティングやポスプロをいじっても
レンダを頭からやり直す必要がないのは便利。久しぶりに使うと改めて楽ちんだと思う。


なんにせよ以前のバージョンから比べるとかなり早くなってるのは間違いないかと。
v0.6だと今回の構成に予備のC2D 2GHzのWin機を追加しても、同じ20分でこの品質を
出すのは無理なレベル。

画像の収束が早くなったのと変なノイズが出にくくなったのが大幅に効いてる感じ。
シーンにもよるだろうけどv0.7向けにサンプラーの設定を見直してもいいかも知れない。
特にmetropolisとかはデフォルトでなく、もっとスマートサンプラーらしさを積極的に
発揮させてもいい気がする。


OSX版のその他気づいたところはこんな感じ。

・OSX版はtonemap kernelの挙動は同じっぽい
Reinhardとlinearも含めて、すべてこれまで通りの感じで使えました。
win版の挙動が変わってたのは旧GUIのままなのが原因?まだRC1なのでバグとか調整中の
可能性もあるかもしれない。

・クライアントのプロセスを止めてもサーバのタスクが終了しないことがある
ローカルでタスクを終了してもサーバ側のタスクが走りっぱなしになることがしばしば。
こうなると待っててもレンダサーバが待受状態に戻らないのでタスクを一度手動で止めて
サーバのプロセスを再起動したほうが無難。

・レンダを終了させると”予期せぬエラーで終了しました”、になることがある
ネットワークレンダをしている時によく発生する。上記のサーバのタスクの終了処理が
おかしくなっててそれが原因で予期せぬエラーになってるような感じ。
LuxRenderのレンダリングの仕組みのおかげで、いまのところ結果のファイル出力には
問題ない模様。

・ポスプロ関連で変更いろいろ?
冒頭で触れたガウスブルームやグレア以外にも、ノイズリダクションも変更があったぽい。
サンプラーやインテグレータでのノイズの出方が変わった影響も当然あるんだろうけど、
関連パラメータの挙動というか係り具合が微妙に違ってるような印象。
他にもヴィネッティングが周辺を明るくする方向にも効果がかけられるようになってたり。

・exphotonmapが正しく動作するようになった
v0.7RC1以前の開発版からの改善点。初期の開発版で直接光の影響が無視される場合や
コースティクスが正しく出ない事があったんですが、その辺がちゃんと動作するように。

上のシーンをexphotonmapに変更するとこんな感じ。インテグレータ以外は変更なし。
今気づいたけどコースティクスの要素が無いからあまり参考にならないすね、これ。



あとレンダするシーンに対してメモリ不足なのが原因ぽいが、前はフォトンマップ作成中に
落ちることもあったけど、v0.7RCでは今のところ発生してないのも好感触。
ただし時間は相変わらずそれなりにかかる。このシーンみたいに屋外だと特に。

igiにくらべると間接光の影響が強めに出る傾向もこれまで通り。なので床や地面が単純だと
そこからの照り返しも単調になるんで、この画像みたいに陰影のバランスに違和感がでたり
逆にそこから見えない部分の手抜き感が伝わってしまったり。
ちなみにこのシーンの地面は生の四角ポリ一枚だったりw


今のところRC1という位置づけですが、機能の追加や各種改善も多いので、v0.6finalや
v0.61とかからの乗り換えでも得るものが多くてよろしいのではないかと。
v0.7でのスタティックパーティクル対応の話とかもどこかで見かけた気がするので
今後も期待して行きたいところ。


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

2010年4月4日日曜日

OSX版LuxRender v0.7RCが使えました

Qt入れても駄目なんで、自前でビルドできないかと足掻いてみたり。
でもwxwidgets版のLuxRender.appもうまくビルド出来ないので
途方にくれつつ公式フォーラムをみてみたところ思いがけない展開が。


公式フォーラムのv0.7RC1リリース告知のポストに自分と同じように
Qt入れてるのにLuxRender.appが起動しないよ、との書き込みを発見。
で、必要なQtのパッケージはLuxRenderのインストーラからダウンロード
できるようにリンクを貼っておいたのに・・とのレスがついている。

というわけでインストーラをよく見てみると



確かに
LuxRenderを起動するにはQTをダウンロードしてインストールしないとダメだよ!
これ→http://get.qt.nokia.com/qt/source/qt-mac-cocoa-opensource-4.6.2.dmg
って書いてある。orz

おとなしく上のリンクのパッケージをインストールしたらあっさり起動しました。


portsで入れてたのはQtのX11対応の方で、今回LuxRenderが要求していたのは
Qtのcocoa対応のやつが必要ってことだったようで。あぁなんか言い訳っぽいw

前回の記事へのweb拍手に

>レポートありがとうです

というありがたいコメントをいただきましたが、すんません。
だいぶすっとこどっこいな勘違いをしていたようです。はずかしー。

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

2010年4月2日金曜日

LuxRender v0.7 RC1を試してみた

昨日に引き続きLuxRender v0.7RC1を試しています。

残念なことにportsでQtとOpenGL関連のライブラリを追加してみたものの
OSX 32bit環境向けの配布版はこちらの環境ではLuxRender.appが起動せず。
そのうちOSX向けも動くようになることを期待しつつ今回はwin版を使ってます。

久しぶりにwindowsとblender2.4系に戻ったらいろいろ忘れてるやら、2.5系と
勝手が違うやらで思いのほか手間取ったw

で、こんな感じのシーンをレンダリング。



マテリアルは左から、新しくなったガラスマテリアルのglass2、metalのsilver、
carpaintのwhiteとなってます。

glass2マテリアルは上のモデルのように中空のものが光学的・物理的に正しく
表現できるというのが特徴の一つとなっているようです。マテリアルの設定UIも
これまでとは少し変わっていて下のような感じになっています。



ポイントはInterior MediumとExterior Mediumの部分。
内側と外側と考えてしまうとちょっとわかりづらいかも。
オブジェクトの内、外ではなくメッシュの閉空間の内と外に関しての設定。

なのでオブジェクトの肉の部分とか中身の詰まってる部分とそれ以外の部分と
考えた方がよさそう。

今回のシーンの中空の立方体は
・ガラスの肉厚の部分:ガラス
・オブジェクトの内側で身が詰まっていない部分:空気

という設定にしたかったので

・Interior Medium:Glass, Crown(common)
・Exterior Medium:world

としています。worldの設定はEnv/worldで指定できるので水中で周囲が水に
満たされているような状況も再現できそうです。

ちなみにglass2の初期設定ではInteriorもExteriorも両方worldが指定されているので
glass2を指定しただけでレンダリングしてしまうと、空気でできたオブジェクトを
レンダリングすることになり何も映らないので要注意です。

v0.7RC1についてその他気づいたところとしては

・レンダリングが早くなった
根本的なボトルネックが解消されたのか、投入するスレッド数を増やしたり
ネットワークレンダで処理を分散したり、ポータルを配置したりといった
処理速度が改善されるような対応をとった際に効果がよりはっきりと出ている感じ。

・bidirectionalインテグレータのノイズが減った
リリースノートにも改善が上げられていたけどこれは助かる。屋外のシーンだと
bidirectionalはメインで使いたいところなので。

・tonemap kernelの挙動が少し変わった?
いつも使っているReinhardとlinearの動作というかパラメータの効き具合が
変わってるっぽい。

と、こんな感じ。

v0.6系でもそうでしたが各種オプションのチューニング次第で処理速度や品質が
かなり変わるので、v0.7も使い込んでいきたいところ。
試せていない新機能もまだまだあるのでしばらく楽しみ。

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

2010年4月1日木曜日

LuxRender0.7RC1が公開される

LuxRenderの0.7RC1が公開されたようです。

というわけで、早速試してみましたといいたいところですが
Mac向け配布版をインストール後、これまでどおりエクスポータ経由でレンダしようと
すると必要なライブラリが見つからずエラーになる様子。

LuxRender.appを直接起動しようとしてもだめ。
luxconsoleはターミナル内で起動できる。

どうやらQt関連のライブラリがスタティックリンクされていないっぽい。
portsでQtを入れて再度挑戦の予定。
Windows 32bit環境向けはluxrender.exeを起動できたんで大丈夫そう。

あとでblender.jpのニュースに取り上げられるような気もするけど
ざっと更新内容を斜め読みしてみると


v0.6.1からの更新内容

・このバージョンではいくつかの機能に変更があります。
既存のシーンをレンダリングする際にはv0.7RC1対応のエクスポータでもう一度
エクスポートを行いマテリアルの確認を行った方が良いでしょう。
目立った変更内容はこちらのリストを参照してください。

・Qtによる新しいGUI
Windows向け、およびダイナミックリンクのLinux向けバイナリにはまだ新しいGUIは
適用されていません。静的リンク版のluxrenderの実行ファイルに追加のパッケージが
必要なためです。

・QBVHアクセラレータの更新
より処理速度が改善されました。しかし64bit版では依然問題が残っています。

・mitchellフィルタのスーパーサンプルオプションの追加
このオプションはデフォルトで有効になっています。
よりシャープで、かつリンギングアーチファクトの発生が抑制された出力を
得ることができます。

・metropolisサンプラーの大幅な改善

・bidirectionalインテグレータの改善

・pathインテグレータのオプションとしてダイレクトライティングによる
サンプリングが選択可能に

・以前のglossyマテリアルはglossy_lossyマテリアルに名称が変更されました
新しいglossyマテリアルはエネルギー損失が少なくなり、よりよい結果を
得られるようになりました。

・環境光によるライティングは収束性改善のためimportanceサンプリング
オプションが追加されました

・ボリューメトリックオブジェクトは2種類のglassマテリアルを透過する際に
発生する光の吸収と、オブジェクトの体積に関するプロパティーがサポート
されるようになりました
(今後のバージョンアップでさらに詳細なオプションが追加される予定です)

・brickテクスチャの広範囲にわたる拡張

・数値データ形式のテクスチャーのサポート。
PBRT2のスペクトルファイルのような外部ファイルからのスペクトルデータの
読み込みに対応しました

・さまざまな処理速度に関する改善

・多くのバグ修正


ざっくりこんな感じです。

Qtのコンパイルがまだ終わらないのが残念でなりません。orz
Windows版でちょっと触ってみようかな・・・

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

2010年2月19日金曜日

久々にビルドしてみた。

Freestyle統合版の更新に合わせて久しぶりにビルドしてみた。
透明度を持ったストロークがサポートされたとのこと。

ついでにいつもの倉庫にもアップ。Intel Mac、OSX10.5以上で動作のはず。
blender250-Freestyle_svn26980_gcc.tbz


新機能については全然試せていないけど、起動時のスプラッシュスクリーンが
Alpha1のものに変わってて驚く。
It is remarked that the latest revision 26980 of the Freestyle branch has incorporated all changes included in the Blender 2.5 alpha 1 release.
 ってことらしいので納得。


早いなぁ。もうalpha1かー。
2.5らしい新機能ってまだ殆ど触れて無い気がするw

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

2010年2月14日日曜日

なかなか良さげ。

あいかわらずFreestyleのスタイルモジュールでいろいろ。

以前シェーダを自前で実装するサンプルのコードを使って、線の太さを変えられるように
なりましたがその後さらに進展。

サンプルのシェーダでは線が徐々に太くなる方向でしか変化させられなかったので
入り〜抜きにかけて、

細い→太くなってく→太い→細くなってく→細い

という線は描けなかったわけです。

が、bigbrush.pyを参考にしつつ、shadersモジュールをあさりつつ試行錯誤してたら
良さげな感じになってきた。

まずは普通にblenderでレンダリング、エッジ無しの場合。



次がblenderの標準エッジの場合。



で、Freestyleだとこんな感じに。


こう比べてみると簡単に線の強弱がでるのはでかい。
特に顎とか口の輪郭で線の調子が変わるのが効果的。鼻の線が拾えるのも便利。

Freestyleのストローク描画部分だけを抜き出してみると線の状態がわかりやすいかも。



この線に眉毛とまつげのベタの部分と瞳を乗せてみた。
瞳はテクスチャで済ましてるのでノードでグレースケールに変換。



これがレンダリング一発で出せるのはおもしろい。

グレースケールを2値のトーンにできそうなので次はその辺をいじってく感じで。
あといい加減デコッぱちのままだとあれなんで、そろそろ髪をw

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