Skip to main content

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 2.0 では性能が悪化してしまうのです. :-)

ではあなた,ユーザ,には何ができるでしょうか.ポータルのこの効果は確かに混乱するものだと私達は認めます.私達は iray をユーザにとって技術的に可能な限り単純なものとしようとして努力してきました.しかしこの機能はある意味それに逆行するものです.しかし,私達にはこれに関して簡単な答えを持っていません.ポータルは確かに iray からもっと性能を引き出したいというユーザに対する上級者向けの機能です.ポータルは助けになるものですが,シーンに依存するものです.ここでいくつかのヒントをご紹介しましょう.

どんなシーンでもポータルが効果あるものだとは思わないで下さい.ポータルありとなしでレンダリングのテストをしてみて下さい.ある与えられた時間の経過後に画像の質がどうなるかを見て,どちらが良いのか判断して下さい.もし太陽が窓から直接差し込む場合にはまずポータルによって性能の改善はないでしょう.たとえ窓が直接太陽に照らされない場合であっても同様です.もしほとんどの照明が太陽から来る場合,iray にあまり重要でない窓を示せば,おそらく性能を悪化させてしまいます.小さな窓は大きな窓に比較して通常ポータルの効果が有効に出ます.(まだ)私達は何の約束もできませんが,しかしポータルをもっと簡単で頑健になるような研究をしています.ご期待下さい!

Daniel L.

(*) 性能はノイズフリーの最終画像を得るまでの時間で計測されるべきです.また実際の時間が常に用いられるべきです.時々,イテレーションの数で計測されていますが,iray 2.0 は以前のバージョンに比較して一回のイテレーションは長くかかりますが,一方でより多くのことをするようになりました.そのため,イテレーションの数で比較することはできません.

(**) 我々が調査した限りでは,主な性能低下のケースでは全てポータルが原因でした.しかし,私達は全ての性能低下を調査したというわけではありません. ;-).

Comments

Popular posts from this blog

メンタルレイの構成

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

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

これまでは standalone mental ray のための export の話でしたが,ようやくshader conversion の話になります. iray は mia_material のみのサポートなので,3dsmax シーン中のshader をできるだけ自動で mia_material (Arch&Design) に変換します.おそらく他の shader もサポートしてくるでしょうが,CUDA で動くことを考えれば,divergence の問題のために,いろんな shaderを使うだけでレンダラの性能が落ちることは自然です.それに新しいレンダラですから, mental images が native にサポートしているshader にした方が問題は少ないことも予想できます.ですから変換した方が良いと個人的に思いました. 3dsmax の shader を mia_material にコンバートする max script のコードをここ( https://code.google.com/p/shitohichi-tools/source/browse/#hg/mentalray/max2mia_material )に置きました.これは Zap の blog の VRay shader to mia_material converter ( http://mentalraytips.blogspot.com/ ) を元に作ったものです.Zap さんありがとうございます.2つのファイルを download し,max script として open して run とするとシーン中の shader を convert します.yh_max2mia_material.ms が main のファイルでこちらを評価します.(yh_material_object_map.ms は subroutine 集です.) もちろん,自動で全部コンバートすることは不可能です.とりえあえずレンダリングできるというレベルです.それでも一つのシーンには多数のshader があるので,以前作成したシーンを変換するスタート地点として使えると思います. 来週から SIGGRAPH です.(私は SIGGRAPH には行ったことがありません) 何か ira...

iray blog unofficial translation: はじめまして, iray ユーザの皆さん!

以下は iray dev blog の個人的な翻訳です. この翻訳は iray 開発者あるいはNVIDIA とはまったく関係がありません. 原文:  http://blog.irayrender.com/post/12196196279/welcome はじめまして, iray ユーザの皆さん! 私達はここで iray に関係するマテリアルの知識,新たな機能のデモ,そしてワークフローの例,などについて直接あなたがたに語りかける機会を得ることができ,とても嬉しく思っています.このブログではirayを使う上で役に立ちそうなヒントやトリック,そしてユーザの皆さんからの興味深い利用例をポストできればと思っています.そして,たぶん我々が iray を設計した際に考えたことからビジョンや哲学めいたものまでご覧に入れられるかもしれません.どうかご期待下さい. iray 開発チーム