2010年9月8日水曜日

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

2010年8月28日土曜日

光源波長の色見本まとめ

LuxRenderではライトのテクスチャにlampspectrumを指定すると、光源の波長を
プリセットから選択して設定することができます。

こんな感じにずらっとプリセットがあります。


様々な光源の波長が用意されているのですが、メニューの名前だけではいまいち
光の感じや色みが分からないのでサンプルのシーンをレンダしてまとめてみました。
画像が多くページも長くなったのでこちらに掲載しています。

上記リンクの方は自分のメモ代わりのちょっとしたコメントや解説を記載していますが、
とりあえずサンプルのレンダ画像が一覧で見たいという場合もありそうなので
レンダ画像のサムネイルを一覧にまとめたものも作ってみました。

光源の波長をlampspectrum、光の分布をIESファイルで設定すると、リアルかつ
バリエーションに富んだランプが簡単にセッティングできるようになるのでお勧めです。

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

2010年8月6日金曜日

blender2.53でLuxRender v0.7を使う方法

以前blender2.5系でLuxRenderを使用する方法について記事を書きましたが、それから
数ヶ月が過ぎblenderも2.53へとバージョンが上がりいろいろと変更がありました。
2.5系でLuxRenderを使用するためのエクスポータの導入に関しても変更があったので
新にblender2.53でLuxRenderを使う方法をまとめてみました。

今回使用したのはblender2.53開発版(rev.31082)とLuxRender v0.7final、エクスポータ
関連はluxblender25、ExporterFrameworkともに現時点で最新の開発版をダウンロード
して使用しました。OSはUbuntu10.04を使用していますが、他のOSでも手順はほぼ同様
のはずです。

というわけで実際の手順を説明していきます。

1. blender2.53を準備する

まずはblender2.53の入手です。
自前でビルドするなり、http://www.graphicall.org/builds/からダウンロードしてきます。
リビジョンはこちらで使用したrev.31082か、よりあたらしいビルドであれば問題ないかと。
もちろん既に条件をみたすビルドを使用しているのであれば、それを使用して構いません。

公式配布の2.53は使用していないので何ともいえませんが、もしかしたら大丈夫かも。


2. luxblend25のダウンロードとインストール

blenderからLuxRenderにシーンを書き出すためのエクスポータがluxblend25です。
http://src.luxrender.net/luxblend25からダウンロードしてきます。
ブラウザで上記URLを開くとページの上の方に"bz2 | zip | gz"と書かれているので都合の
いい圧縮形式を選択してダウンロードします。

ダウンロードしたファイルを展開した中にある./src/luxrenderのフォルダをまるごとblenderの
スクリプトファイルのインストール先にコピーします。スクリプトのインストールパスを変更して
いなければblender本体の実行ファイルがある場所の2.53/scripts/ioにコピーすればOKです。


3. ExporterFrameworkのダウンロードとインストール

luxblend25の動作には別途配布されているExporterFrameworkが必要です。
ExporterFrameworkはhttp://github.com/doughammond/exporterframeworkで配布されています。
同じくブラウザでページを開き、ページ右上の"Download Source"をクリックすると
圧縮形式をたずねるウインドウが表示されるのでzipかtar、都合のいい方を選びます。
ダウンロードしたファイルを展開すると中に2つのフォルダと1つのファイルが含まれています。
その中で必要になるのはefフォルダだけです。そのフォルダを先ほどのluxblend25と同様に2.53/scripts/ioにコピーすればOK。

このExporterFrameworkの配布元が前回の記事の時から変更になっており、以前の配布元のhttp://ef.beulahelectronics.co.uk/hg/efでは最終更新が2010年5月ですが、今回使用した
新たな配布元サイトでは2010年8月に更新されています。
旧配布元の古いファイルではblender 2.53(rev.31082)ではluxblend25が正しく動作しませんでした。
また公式ドキュメントを確認したところ、luxblend25の導入についてのページには旧配布元の
URLが記載されていたので注意が必要です。まぁそのうち更新されるとは思いますが…。


4. 確認とテスト

以上の作業の結果、スクリプトのインストール先のio以下にefとluxrenderの二つのフォルダが
コピーされていれば準備はOKです。blenderでの設定や使用方法については下記の記事で
紹介していますのでそちらを参考に。

blender2.5でもLuxRenderが利用可能に。
luxblend25でポータルを使う。が、その前にGUIが表示されず。



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

2010年8月2日月曜日

Ubuntu10.04でAMDのグラフィックドライバ更新してみた

ドライバのダウンロードはAMDのサポートページから。

Linuxでのドライバインストールについては上のページからもリンクされてるこちら
とても詳しい。Ubuntuの場合は各バージョンごとにインストールの説明がされており、
10.04はこちらのページにまとめられている。
十分な説明と具体的な作業やコマンドが記載されているのでとても助かる。
上記ページを見れば済むのでここでは詳細は書かないけれど
手順としては
  1.OS標準のドライバや不用になるパッケージの削除
  2.AMDのサポートページからダウンロードしたファイルからdepパッケージの作成
  3.depパッケージのインストールとxorg.confの初期化
  4.再起動
という具合で無事にドライバ更新完了。


ただ、更新後にOpenGLを利用するプログラムをビルドをすると-lGLがみつからないと
いわれてビルドに失敗するように・・・これは困った。blenderやLuxRenderもOpenGLを
使っているのでこの問題が発生。

念のため/usr/libを確認するとlibGL.so.1.2があり、libGL.so.1はそのリンクになっている。
libGLあるよなぁと思いつついろいろ調べてみるとこんなページを発見。
スレッドのタイトル"Make error: /usr/bin/ld: cannot find -lGL"って、まさにその状況。

で見ていくと下の方に
/usr/libでこれやってみ
$ sudo ln -s libGL.so.1 libGL.so
とのアドバイスが。

libGL.soが無いとダメなのか?と思いつつ試すと見事にビルドが通るようになりました。
めでたい。


しかし今度はLuxRenderで、起動してレンダリングは進んでいる様に見えるものの
レンダ結果が表示されるべき領域が真っ白のままという状況が発生。
端末からluxrenderを起動してみると"Unrecognised OpenGL version"とのメッセージが。
試しにwx版のluxrenderwxを使ってみると問題なく結果が表示され、レンダの進捗に
合わせて表示もちゃんと更新されていく。

調べてみるとQtのバグレポートのページにこんな報告が。

どうやらQt4.6はOpenGLのバージョンは3.xでないと対応していない模様。
次のQt4.7βでは既にOpenGL4.0対応のコードがマージされたようなので4.7待ちか・・。

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

こんなのつくってますという感じの体で

LuxRenderとかSmallLuxGPUとかで遊んでばっかで何も作っていないように見えて
実際何も作っていない、というほどの状況というわけでもない気がしなくもない。
完成するか分からんけどいまはこんな感じ。



twitterからの転載だけだとあんまりなんでこんなことをやってみた。 というかやってます。



作業前もしくは作業後にスクリーンショットを残しておき、あとからそれらを見ると
自分の作業のペースや進捗状況、スランプというかダレてる時期みたいなのが
客観的に把握できて、作業効率の改善につなげられるのではないか?という実験。

上の画像はそんなスクリーンショットをとりあえずImageMagickでまとめただけ。
すでにペースが落ち始めている気がする、とかいう噂があるような無いようなw



拍手お返事とか

>SmallLuxGPUでのパワーを期待してGeForce460を買ってみたんですがGPUスレッド数を上げると
>CPUスレッド側のパワーが落ちてトータルが頭打ちになっちゃう現象に困っていました
>帯域不足ですかね…?その辺の3DベンチだとハイパワーなんですがSLGでは9600GTと 460GTXが
>同じ程度か負ける程のスコアでしたよ

こちらの記事をみるとGF100からの派生アーキテクチャということもありよさげですよね。GF104。

帯域の影響なのか、影響があるとしてもどこの帯域がネックになっているのか等の詳細はなんとも
いえませんが、GPUアーキテクチャとアプリケーションのコードに対しての最適なGPUスレッド数と
いうのは存在するような気がします。といってもOpenCL始めたばかりでよく分かってないですがw。

たしかに最近のGPUについて3DMarkをはじめとするグラフィック評価用のベンチマークの結果と、
GPGPU用途での性能やベンチマーク結果が完全にイコールとならないような印象はあります。
そういった状況は当然といえば当然なんでしょうけど、OpenCLなどを利用したアプリケーションの
最適化や性能の評価手法などを考えると興味深いところです。

SLGはβ段階の開発版ということもありハードウェアの性能を引き出せていない可能性もあるかと。
またNvidia、ATIともにOpenCLのサポートはまだ始まったばかりといってもいい状況なので今後の
ドライバやOpenCL関連ライブラリの最適化がすすめば状況は変わってくるかもしれません。


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