Wednesday, May 20, 2009

メンタルレイの構成

図 1 にメンタルレイの通常の構成を示します.

図 1 メンタルレイの構成

F1: Application scene file: アプリケーション固有のファイルで .max (3dsmax), .ma または .mb (Maya),.scn (XSI) などです.

F2: .mi file: mental ray の scene description ファイルフォーマットです.多くの mental ray をサポートしている DCC ソフトウェアは .mi ファイルをエクスポート(export)する機能があります.(A2)

1. Application: DCC (Digital contents creation)ソフトウェア (Maya, 3DSMax, XSI, ...) や CAD プログラムです.

2. mental ray core: メンタルレイのコアプログラムです.メンタルレイにはライブラリ版とstand alone 版があります.ライブラリバージョンのメンタルレイは,アプリケーションからトランスレータ(translator) というモジュールを通じて命令やデータを受けとり,レンダリングを実行します.トランスレータというのは DCC アプリケーションの内部データを mental ray のデータに翻訳(translation)するプログラムです.スタンドアロンバージョンのメンタルレイは.mi ファイルを読み込み,レンダリングを実行します.メンタルレイはコア自体だけでは動作せず,シェーダが常に必要なことに注意して下さい.シェーダがプラグインであることを考えれば,理解しやすいと思います.

3. mental ray base shader: メンタルレイがデフォルトでサポートしているシェーダです.基本的な光源(lihgt),基本的なマテリアル(material),たとえば 最も簡単なシェーダとしては Lambert シェーダなどがあります.

4. Application shaders: 各 DCC ソフトウェアや,CAD ソフトが独自に持っているシェーダです.3DSMax は 3dsmaxshaders, Maya は mayabase などというシェーダパッケージを持っています.

5. Custom shaders: ユーザ独自のシェーダや,メンタルレイ独自のものでも高度なシェーダ(たとえば mia_material) などです.

この構成は一般的なものですが,アプリケーションによってはアプリケーションは直接メンタルレイのコアと通信せずに常に .mi ファイルを使うものなどもあります.

この図で重要なことは,mental ray は core 自体では動作せず,(default であれ,特別製であれ) shader を必要とすることです.standalone にせよ,DCC アプリケーションに組込まれた mental ray にせよ,shader が重要な役割を果たしていることに注意して下さい.通常 shader がなければ意味のある画像は生成されません.(mental ray のコアは shader 無しでも真っ黒な画像を生成できますが...)

Thursday, May 14, 2009

スタンドアロンメンタルレイを使う

もしあなたが Maya や 3dsMax, XSI を使ってレンダリングしている場合にはこの記事は不要です.シェーダを書いたり,アニメーションのためにレンダーファームを使ったりという場合にはこの記事は多少参考になるでしょう.

メンタルレイの参考文献

メンタルレイの参考文献は以下のものが重要です.
  • Thomas Driemeyer, Rendering with mental ray, 3nd Ed. (Mental Ray Handbooks 1), ISBN-13: 978-3211228753
  • Thomas Driemeyer and Rolf Herken, Programming mental ray, (Mental Ray Handbooks 2), ISBN-13: 978-3211838518
  • Andy Kopra, Writing Mental Ray Shaders: A Perceptual Introduction (Mental Ray Handbooks 3), ISBN-13: 978-3211489642
しかし難しいので他の文献も探してみると良いでしょう.個人的にはこの中で一番わかりやすいのは Andy Korpa の本だと思います.http://www.writingshaders.com/ がサポートページです.

最初の二冊には日本語訳があるようですが,残念ながらバージョンが古すぎて(version 2.0,2.1)あまり使えないでしょう.

メンタルレイを入手する

私の場合は会社でメンタルレイを使っているので問題ないのですが,個人で入手する場合には Maya, 3dsmax や XSI を買うというのが一番簡単だと思います.ただし,スタンドアロンが欲しい場合はちょっと複雑です.噂では,スタンドアロンは1000 ドル位ということですが,本当にいくらなのかは知りません.

standalone の mental ray を入手する一番簡単そうな方法は Andy Kopra のシェーダ本を買う方法だと思います.この本にはメンタルレイの 3.6+が付属しています.先程 Amazonl.com をみたら 157 ドルでした.(2009-5-14(Thu)では15,000円です.) このメンタルレイは機能的には並列機能だけ除いてフルバージョンです.つまり正規版と同じ画像を生成できますが,ネットワークレンダリングができず,1 Core しか使わないバージョンです.しかし,この値段ならば個人でも買えるでしょう.

Wednesday, May 13, 2009

メンタルレイシェーダ(shader)とは

メンタルレイのシェーダは実際には光が物体に当たった時にメンタルレイのコアから呼び出される C/C++ のコードであり,プラグイン(Plugin)という方が正しいと思います.シェーダという言葉は歴史的な経緯で残っているものだと思います.シェーダはユーザにかなりの自由度を与えてくれますが,実際にシェーダを書くことはなかなかないでしょう.

シェーダの自由度が高いというのは,光が物体に当たった時にユーザがやりたいことならほぼなんでもできるという意味です.たとえばレンダリング中に光がある物体に当った時に email を送って知らせてくれるということさえ可能です.(メンタルレイ的にはそういうことはして欲しくないでしょうが,shader は単なるプラグインなので可能) しかし,なんでもできるということは一方で難しいということでもあります.特にメンタルレイは長い時間をかけて発展してきたことや,下位互換性(backward compatibility) を保つために複雑になっている部分もあります.