Skip to main content

iray を standalone mental ray で使いたい(1)

* 現時点では iray は NVidia のRealityServer でないと入手できない.次の 3dsmax/Maya/XSI でサポートされることを期待してこの blog を書きます.

GDC の Keynote や,SIGGRAPH ASIA 2009 の booth で NVidia の子会社のmental images が iray というレンダラのデモをしていた.

GDC NVidia iray demo (YouTube)
mental image's iray page

間接光をシミュレートするのは mental ray や,他のレンダラでもある程度できるが,final gather とか Photon map とかはちょっと物理的には怪しい近似手法であり,正しい解に収束するとは限らない.それに最適化のパラメータがいろいろあって難しい.

また,これらの手法は時間がかかるので,見えない光源を置いて間接光の影響を手でシミュレートするというようなことをしたりする.このirayは path tracing を brute force で実行する.しかしそれでは現在の計算機ではまだ力不足なので,GPU に実装して GPU クラスタで計算するという方法らしい.上記の YouTube での GDC のデモの画像は interactive でこの質と,かなりすごいと思うが,このデモでは Tesla を15 枚使っているというレベルのようだ.(いったいいくらするんだろう?) SIGGRAPHASIA 2009 では Quadro 5800 FX を 5 枚使っているという計算機でデモをしていた.そう言えば東工大にはテスラやフェルミのクラスタがあるというのだが,iray を走らせたらどうなるのか個人的に知りたい.

iray は物理シミュレーションをするので, SIGGRAPH ASIA のデモでは buildin の shader しか使えないという説明であった.特殊なことをしたい時やカスタマイズした時にはどうするのか,という質問には,

  1. iray でサポートする物理学はこの世界にあるものだけで,それ以外の物理学はサポートする予定がない.

  2. 物理学に沿わないことをしたい場合には,mental ray か,reality server の software renderer を使って欲しい.

ということであった.考えてみれば,物理シミュレーションをするわけで,物理学をカスタマイズするにはどうするのかという質問をしていた.iray はアーキテクチャや車のデザイン関係など物理的な結果が欲しい人をターゲットにしたレンダラということだ.ただ,プロダクションの人やアーティストは物理学よりも欲しい絵ができるかということで,その場合には,今後とも mentalray でのサポートをするということであった.つまり,

   1. 物理シミュレーションをしたい人: iray
   2. カスタマイズしたい人: software renderer(例: mental ray) + MetaSL

ということだ.

Comments

Popular posts from this blog

このブログについて

このブログではメンタルレイというレンダリングソフトウェアについて書いていきたいと思います. メンタルレイとは メンタルレイ(mental ray)はドイツの mental images GmbH 製のレンダリングソフトウェアです.mental images 社は NVidia という会社の子会社です (2009年現在).Maya, 3dsMax, SoftImage XSI, などの DCC (Digital ContentsCreation) Software, あるいは Solidworks などの CAD などのレンダラとして利用されています.建築などの分野でも利用されていますが,StarWars や Matrix,最近では The Curious Case of Benjamin Button (邦題:ベンジャミン・バトン--数奇な人生) などの映画の特殊効果(Special Effect)に使われているようです. http://www.mentalimages.com/products/mental-ray.html http://www.mentalimages.com/gallery/motion-pictures.html 機能は豊富で高品質な画像を生成できる,というのが売りですが,なんでもできるというのは使うのが難しいという面もあります.特にシェーダー(shader) のカスタマイズの可能性はかなり広い一方,本当に使いこなすのは難しいと思います.通常は用意されているシェーダー(shader) を使うだけでもかなりのことができます.私の友人は mental ray を Ferrari に例えていました.Ferrari なのはイタリア人だからかもしれませんが,曰く,「どう使うか知らなければ動きもしないが,ちゃんと使えば (映画の) Matrix が作れる.」しかし,1ユーザとしてはもっと簡単だったらなあと思うことしきりです. ところで,私の知る限りでは,メンタルレイの情報はほとんどが英語で提供されているので,できるだけ英語を併記しておくことにします.英語のページもどうぞ.

iray blog unofficial translation: ノイズだらけの画像

以下は iray dev blog の個人的な翻訳です. この翻訳は iray 開発者あるいはNVIDIA とはまったく関係がありません. 原文:  http://blog.irayrender.com/post/12964041473/noisy-pictures 物理的に正しいレイトレーサあるいはパストレーサを用いるレンダラが直面する主な問題があります.それは完全にノイズのない画像を生成するには長いレンダリング時間がかかるというものです. 残念なことにこれは(準-)モンテカルロ法に基づくアルゴリズムが一般に持つ性質によるものです.これらの手法では数学的に期待値の持つエラーが線形に消えていくことはありません. irayにとってこれが意味することは,ノイズの総量は1フレームをレンダリングする際に使うサンプルの数(あるいは総時間)に直接に比例しないということです.このためにレンダリングの最初の頃のステップで減っていくノイズの量は,後で減っていくノイズの量に比べて少ないように見えます.つまり収束がだんだん遅くなっていくような印象を受けるのです. この事実を回避するために,多くのレンダラは通常ある仕事を省略しようとします.たとえば,レンダラの中にはいくつかの物理的な効果を無視したり,レンダリング結果の無偏向性(un-biasedness)をあきらめたりします.その他の技術としては特殊な発見的手法を用いてサンプルをフィルタし,ノイズをぼかしてしまうというものがあります.あるいは単純に様々な芸術的な方法に依存する方法,たとえば,根底にあるレンダリングのアルゴリズム/魔法に影響する沢山のスイッチを用意して,それをいじりまわすという方法です. しかし iray の一つの大きなデザインゴールは,インストールしたらそのままいつでも全てが正しく動作し,沢山のパラメータをいじりまわすことは必要ないというものです.私の正直な意見としては,パラメータの数は 0 であるべきです.そうであれば,アーティストやデザイナは実際のレンダリングされるコンテンツに完全に集中できるようになり,小難しい深い数学の詳細を知る必要はありません.また,一貫性のないアルゴリズムはまったく使うべきではないと思います.そういうアルゴリズムを使わなくてはいけないかわいそうなアーティストが見る...

メンタルレイの構成

図 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: ユーザ独自のシェーダや,メン...