Skip to main content

メンタルレイの構成

図 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 無しでも真っ黒な画像を生成できますが...)

Comments

  1. 日本語でmentalrayのシェーダについて書かれているサイトはほとんど無いので勉強になります。

    ReplyDelete

Post a Comment

Popular posts from this blog

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

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

iray blog unofficial translation: iray 2.0 のデイライトポータルにおける性能問題

以下は iray dev blog の個人的な翻訳です. この翻訳は iray 開発者あるいはNVIDIA とはまったく関係がありません. 原文:  http://blog.irayrender.com/post/12598717491/daylight-portals-in-iray-2-0-performance-issues 大域照明における古典的な問題は屋外の光源による屋内のシーンのライティングです.典型的には太陽/空(sun/sky) あるいは HDR 環境照明でこの問題があります.このセットアップではリアルな屋内のライティングが可能ですが,一方でレンダラが力づくの(準)ランダム性に基いて室内の窓を探し,どの光源からの光がその窓を通るかを計算することは大変難しい問題です.デイライトポータルはこの問題に対処することを目的に作られました.デイライトポータルによってユーザはどの窓から光が入ってくるべきなのかをレンダラにヒントとして伝えることを可能にします. iray 2.0 はデイライトポータルを完全にサポートしました(version 1.x では限られたサポートのみでした).これは mia_portal_light mental ray シェーダを通じて設定できます.多くの場合に総合性能の重大な改善(*)がみられます.しかし,時にポータルは性能を悪化させる場合があります.あるユーザは初めて iray 2.0 を利用した際,この性能悪化につまづきました.私達に届いたレポートでは,iray 2.0 の性能はiray 1.2 の性能に比較して二倍悪いというものでした.私達がこれらのレポートをいくつか調べたところ,実際にポータルが性能悪化の犯人だった(**)という場合がありました.ポータルを無効にしたところ,性能が iray 1.2 とほぼ同等まで回復したのです. さて,どうしてこんな重大な性能の食い違いが起こったのでしょう? 調査の結果,これに関して iray ポータルのバグや基本的な欠点は発見されませんでした.ポータルは設計通りに機能していたのです.実は,多くの場合, iray はポータルなしでも上手く働くのです.しかし,これらのいくつかのケースでは,ポータルは助けになるのではなくむしろよりノイズのあるイメージを生成する原因になっていまし...

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 か...