2010年9月28日火曜日

結局0.7.1も出る模様。

LuxRenderのリポジトリのログを見ていたら、Splash for 0.7.1なんて一文が。
やっぱり0.8前に0.7.1がでるのかな。

さっそくソースコード更新してビルド、と思ったらなぜかビルドに失敗。
boostは1.43が要求されるようになってた。
しかたがないのでboost1.43を準備していろいろやってみるけどうまくいかない。

Ubuntu10.04は標準ではboost1.40なので以前のバージョンのLuxRenderを
ビルドするときにもちょっと苦労した記憶があったので調べてみたら、自分で
手順をこんな感じにまとめてたorz。

まとめの1.42を1.43に読み替えて作業したら無事にビルド完了。めでたし。
Luxraysもboost1.43になったようなので参考までに。


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

2010年9月23日木曜日

blender2.54とFreeStyleのリファレンス更新

久しぶりにbpyとFreeStyleのスタイルモジュールのリファレンスを更新。
といっても例のごとくsphinxに吐いてもらっただけですが。
気づけば2.54になってから初めて更新したかも。

というわけで、PDFをこちらにアップ。

早くbpyの仕様がフィックスするといいなぁ。

---------------------------------------------------------------
コメントなどありましたらこちらへ->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拍手

2010年9月16日木曜日

blender2.54でCOLLADAサポートの有効化

COLLADAのサポートを有効にしたビルドを作ろうとしてもいつもエラーになるので
ずっと諦めていたんですが、よく調べたらuser-config.pyで
WITH_BF_COLLADA=True
にするだけじゃダメで、自分でOpenCOLLADAというライブラリをインストールしておく
必要があったらしいorz。

OpenCOLLADAのプロジェクトページはhttp://code.google.com/p/opencollada

で、ソースは
$ svn checkout http://opencollada.googlecode.com/svn/trunk/ opencollada-svn
で入手可能。

ビルドの途中でrubyを使用するみたいなので、あらかじめrubyが入ってるか確認しておくとよさげ。
あとuser-config.pyよく見たらpcreも必要そうだったのでlibpcre3-devのパッケージも追加。
で、ビルドはソースコードのルートディレクトリでsconsにお任せ。
$ cd opencollada-svn
$ scons XMLPARSER=expatnative
一通りビルドが終わるとinstalled-opencolladaというディレクトリの中にCOLLADA関連の
ライブラリが出来上がる。ビルドが成功していても上記のフォルダに移動されていないものが
あったのでその辺は適宜探して、全部まとめて/usr/local/libにコピーしておく。

あとはuser-config.pyを編集するだけ。
160行目くらいにある項目を下記のようにそれぞれ変更していく
WITH_BF_COLLADA=True
BF_COLLADA = '/home/username/src/opencollada-svn'
BF_OPENCOLLADA = '/usr/local/'
BF_OPENCOLLADA_INC = '/home/username/src/opencollada-svn'
/home/username/src/opencollada-svnとか/usr/local/は各自の環境に合わせて設定。

でここまでできたらあとは
$ scons
でいつも通りビルド。

入手したopencolladaのバージョンによってはライブラリのファイルの名称とuser-config.pyに
記載されている名称が若干異なっていて、ビルド中に見つからなかったというエラーが出るかも
しれませんが、その辺はuser-config.pyを修正するなり、リンクを作成するなりして対応。
正しくビルドが完了すれば、メニューのExportにCOLLADA(.dae)という項目が現れるはずです。



アドオンではないのでいちいち有効にする必要もなし。

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

2010年9月12日日曜日

あっという間にver.0.8βの予感。

LuxRenderの開発版の変更履歴をながめていたら
CMakeLists.txtに記載のバージョンを0.8に変更
とか
0.8(dev)向けにスプラッシュスクリーンを変更
といったログを発見。

これはver.0.8の予感・・・。

よく見るとバージョンは0.8(dev)となっているので、いつもの様にβ1が公開されて
β3くらいまで進んでver.0.8finalという感じでしょうか・・。
ver.0.7xがあるとか無いとかいう話があったような・・と思いつつ調べてみると
開発版ブランチをうまく分けるためにバージョンを変更
という記述があったので調べてみるとdefaultブランチが0.8系、v07xブランチが0.7xと
いうようになっている様子。

GPGPUというかOpenCL対応などの変更を積極的に取り入れていくのはver. 0.8系、
従来路線のままの安定版はver.0.7xという風になるんだろか。
ちょうど今のblenderが開発版が2.5系、従来の安定版が2.49bなのと同じ感じで・・。

こんな感じの状況から予想してみると、とりあえずv0.8に関しては今月中か、遅くとも
来月頭あたりにはβ1がリリース、その後3~4週間ごとにβ版が更新され、順調に行けば
年末あたりにはv0.8finalに到達という感じでしょうか。

となると冬休みにはビデオカードを買い換えてv0.8finalでGPUフル回転でレンダして、
あちこちに素敵な画像をアップする人が続出する予感、というか期待。
ググると以前に比べてLuxRenderを使い始めた人やブログで取り上げる人が何となく
増えてきた感があるので、いろいろと今後が楽しみです。


で、v0.8でのOpenCL対応と同じくらい気になるのがblender2.5系への対応。

最近のluxblend25開発版ではGPUレンダリングに関するこんなオプションが選べるように
なったかと思いきや、また削除されたりという感じなので夢が広がりすぎてたまりません。

以前こちらにまとめたように現在のluxblend25開発版をblender2.5の開発版とあわせて
利用することでそこそこレンダリングができたりしますが、ここ最近の開発状況を見ていると
LuxRenderのv0.8β1に合わせてluxblend25β1的なものもリリースとか、何かアナウンスが
あったらいいなーと期待していたり。

なにはともあれblenderもそうですがLuxRenderもちょっと離れていると開発の進捗状況や
機能の追加に追いつけず、知らないことがあっという間に増えてしまうのが恐ろしくもあり、
うれしくもあり・・・。開発者の皆さんにはホントに感謝です。

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

2010年9月8日水曜日

Freestyleも本気を出していいころ

気づけばFreestyle統合版blender2.5もエッジ設定のGUIが機能するようになっていたり。

これまではエッジ描画のスタイルをいじろうとするとスタイルモジュールをエディタなどで
編集する必要がありました。スタイルモジュールの中身はPythonのソースコードなので
わかる人には自由度が高くていいけど、わからん人にはちょっとばかりハードルが高い
という状況でした。
今回それらを設定するためのGUIが実装されたので、Python?という人でもいろいろ
いじれるようになるわけでとても良さげな感じです。

またスタイルモジュールを書ける人でも条件出しや試行錯誤がやりやすくなりそうです。
シーンのビューマップに存在する稜線から、Freestyleによる描画対象にする要素をGUIで
条件を設定して選択することができるのが特に便利そう。
設定の内容は下のGUIを見れば何となく想像がつくかと思います。



ただEdge Typesのチェックボックスにずらっとならんだ稜線の種別は一度実際にレンダ
しないと感覚がわかりづらそうだったので一通り試してみました。
というわけでこんな感じのシーンを作成。



右端の立方体は各面を4分割してマテリアルをタイル状に分けています。
で、とりあえずエッジ無しでレンダ



ここからはFreestyleによるエッジを設定してレンダ。
まずはSilhouetteから



次はBorder



つづいてCrease



Ridge



Valley



Suggestive Contour



Material Boundary



Contour



External Countour




と、こんな感じ。

以上の設定はFreestyleで描画をする稜線の選択に関してだけです。
選択した稜線をどのようなスタイルの線で描画するのかという設定は別にあります。
描線のスタイル設定に関しては公式ブログに詳しい説明があるのでそちらをどうぞ。


従来のblenderのエッジ描画機能は廃止される方向で検討されています。
今後エッジ描画はノードもしくはFreestyleを利用することになるはずなので、いままでは
使っていなかったという方も今回のGUI実装をきっかけに試してみてはいかがでしょうか?

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

blender2.5のアドオン使ってみた

blender2.5を使いはじめてかなり経ちますが、基本的に2.4系と同じ感覚のまま
使用していたのでこれまでアドオンの機能はほとんど有効にしていませんでした。

luxblend25の設定がひとまず落ち着いたので他のアドオンも試してみたのでメモ。
正直なところ早く使っておけばよかったという感じですorz。

いきなりアドオンを全部有効にしても分けがわからなくなりそうだったので、メニューの
User PreferencesのAdd-Onsの項目でなんとなく目についたMaterial Utilsと
Dynamic Spacebar Menuの二つを有効にしてみました。


まずはMaterial Utilsはこんな感じ。



3Dビュー内でQキーを押すとポップアップメニューが表示されマテリアルの割り当てや
削除、任意のマテリアルが設定されているオブジェクトの選択などができるようになります。

さらにこのアドオンはエディットモードに入っていても有効だったりします。



プロパティウインドウのマテリアルタブと3Dビューを行ったり来たりする必要がなくなるので
オブジェクトの面ごとにマテリアルを設定する作業などの効率がアップしそうです。


つぎはDynamic SpaceBar Menu。

2.5系の標準設定では3Dビューでスペースバーを押すと下図のように検索ウインドウが
表示されコマンドやショートカットなどを検索することが可能になっています。



これはこれで便利なのですが、2.4系で慣れていた機能ごとに分類されたコマンド一覧の
メニューを使いたいという人も多いかと思います。Dynamic SpaceBar Menuを有効にすると
2.4系のようなメニューが検索ウインドウの代わりに表示されるようになります。



こんな感じに見慣れた雰囲気のメニューが戻ってきます。

ちょっと調べてみると公式wikiに2.5系のアドオンに関してまとめたページがありました。
利用可能なアドオンについてさらに詳しく知りたい方はそちらを参考に。

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

2010年9月6日月曜日

luxblend25はぜんぜん落ち着いて無かったの巻

前回記事を書いたblender2.5系でLuxRenderを使用する方法ですが、タイミングの悪いことに
記事を書き終えた直後にいろいろとluxblend25とefに仕様変更があり、まとめに記載した
インストール方法が通用しなくなってしまいました。

こちらの環境もluxblend25とefを更新したらエクスポートできなくなったり、LuxRenderが
起動しなくなったりとかなり苦戦しました。いろいろと試行錯誤しつつ、正しく動作する
インストール方法にたどりつけたのでまとめの方も更新しました。
これもしばらくすると変更されてしまうかも知れませんが開発中なので仕方がないところです。


逆に仕様変更があったということは開発状況が進捗しているわけで、ここしばらくの間にも
LuxRender関連でいろいろ機能の追加があったようです。


大きなところではLuxRender本体へのLuxRaysの取り込みが始まったようです。

まだ積極的にGPUを使用するようにはなっていないようですが、この変更によってソースから
LuxRenderをビルドする際にLuxRaysとOpenCLのライブラリが要求されるようになりました。
従来と異なり、CMakeLists.txtに各自の環境に合わせOpenCL SDKのインストールパスを
自分で記述する必要があるので注意が必要です。

またLuxRaysライブラリもバイナリを入手するにはフォーラムへのアカウント登録をして
関連スレッドからダウンロードしてくるか、もしくは自分でビルドして準備する必要があるので
これから自前でLuxRenderのビルドに挑戦する場合はちょっとばかり手間がかかりそうです。


その他の機能追加としては、lux本体に新しくvelvetマテリアルが追加されました。



マテリアルの名前のとおりベルベットやスエード、ラシャのような感じ。
これからの季節だとサンタクロースのコスチュームとかに使えそう。
もしくは過ぎ行く夏を惜しむべくスク水のマテリアルのベースとかにも使えそうです。


拍手コメントのお返事とか

>まとめありがとうございます。
>これから2.5使ってみようと思ってるので、参考にさせていただきますね。

まとめの修正が間に合わなかったかも知れませんが気長に試してみてください。
一応今後も開発状況にあわせてまとめの方も更新していく予定ですので・・。
2.5系で本気出す人たちが増えるとともにLuxRenderユーザーも増えるといいなー

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

2010年9月1日水曜日

blender2.5でLuxRenderを使うためのチュートリアル

2.4系と比べればまだまだですが、blender2.5系も徐々に落ち着いてきた感のある今日この頃。

LuxRenderをblenderで利用するためのエクスポータの導入法や設定もなんとなく安定した
手順が見えてきたので、そのあたりをチュートリアルとしてまとめてみました。
基本的にはここで書いてきたものの総集編+αですが、スクリーンショットや参考画像を追加
したこともあり、ここの記事の時系列を追いかけて読むよりはわかりやすいものになったかと。
インストールと設定編
レンダリング編
その他解説編
という感じに3部構成になっています。

ちなみに以前書いた2.4系向けはチュートリアルの目次から辿れるようになってます。
2.4系でLuxRenderを使ってみたいというかたはそちらをどうぞ。

やっとこのチュートリアルが一段落したので普段のモデリングを再開したいところ。

ただ次期βが出る前にSmallLuxGPUも一回まとめを作っておきたい雰囲気…
SmallLuxGPUのチュートリアルでこんなのがあればなー、とか、ここがよくわからない的な
ところがあったらネタとして参考にさせていただきますので拍手コメントにお願いします。

自分もわからんところが多いので対応できるかどうかはわかりませんがw

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