Friday, December 23, 2011

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


以下は iray dev blog の個人的な翻訳です. この翻訳は iray 開発者あるいはNVIDIA とはまったく関係がありません.

原文: http://blog.irayrender.com/post/12964041473/noisy-pictures


物理的に正しいレイトレーサあるいはパストレーサを用いるレンダラが直面する主な問題があります.それは完全にノイズのない画像を生成するには長いレンダリング時間がかかるというものです.

残念なことにこれは(準-)モンテカルロ法に基づくアルゴリズムが一般に持つ性質によるものです.これらの手法では数学的に期待値の持つエラーが線形に消えていくことはありません. irayにとってこれが意味することは,ノイズの総量は1フレームをレンダリングする際に使うサンプルの数(あるいは総時間)に直接に比例しないということです.このためにレンダリングの最初の頃のステップで減っていくノイズの量は,後で減っていくノイズの量に比べて少ないように見えます.つまり収束がだんだん遅くなっていくような印象を受けるのです.

この事実を回避するために,多くのレンダラは通常ある仕事を省略しようとします.たとえば,レンダラの中にはいくつかの物理的な効果を無視したり,レンダリング結果の無偏向性(un-biasedness)をあきらめたりします.その他の技術としては特殊な発見的手法を用いてサンプルをフィルタし,ノイズをぼかしてしまうというものがあります.あるいは単純に様々な芸術的な方法に依存する方法,たとえば,根底にあるレンダリングのアルゴリズム/魔法に影響する沢山のスイッチを用意して,それをいじりまわすという方法です.

しかし iray の一つの大きなデザインゴールは,インストールしたらそのままいつでも全てが正しく動作し,沢山のパラメータをいじりまわすことは必要ないというものです.私の正直な意見としては,パラメータの数は 0 であるべきです.そうであれば,アーティストやデザイナは実際のレンダリングされるコンテンツに完全に集中できるようになり,小難しい深い数学の詳細を知る必要はありません.また,一貫性のないアルゴリズムはまったく使うべきではないと思います.そういうアルゴリズムを使わなくてはいけないかわいそうなアーティストが見るのは,あるフレームの中に出現する醜いアーティファクトか,アニメーションの中でのフリッカリング(ちらちらする効果)です.

しかし,ノイズに対する何らかの(自動の)助けを提供するために,私達はある種の頑健であり,ポストプロセスには邪魔にならないようなフィルタパイプラインを導入しようとしています.いくつかのこれらのフィルタは特に微妙なノイズを消すことを目標にしています.この微妙なノイズというのは実際の写真の技術としては良く知られたものです.以下の画像では現在利用可能なリアルタイムのデグレインフィルタを用いた例を示します.画像に見られるように,ほとんどのジオメトリックな詳細,あるいはテクスチャの詳細が保存されている一方,ある限られたレンダリング時間ではまだ消えていない微妙なノイズのほとんどが消去されています.もし本当に必要であれば,このフィルタはさらに強力に働くように調整できます.また,プロフェッショナルなユーザのために,いくつかの種類のフィルタを選択することもできます.

Carsten


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 は以前のバージョンに比較して一回のイテレーションは長くかかりますが,一方でより多くのことをするようになりました.そのため,イテレーションの数で比較することはできません.

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

Tuesday, December 20, 2011

iray blog unofficial translation: まずは金属薄片(metallic flake)の効果あれ.


以下は iray dev blog の個人的な翻訳です. この翻訳は iray 開発者あるいはNVIDIA とはまったく関係がありません.


まずは金属薄片(metallic flake)の効果あれ.

どうやら CG アーティストは常に車をレンダリングしたいようです.というのも,実際の iray ユーザから頂いたシーンのうち,車のシーンの占める割合は驚くほど多いからです.その量はまるで宇宙の基本的な定数であるかのようです.また,レンダラが車を扱えないのであればそのレンダラはドイツでは役立たずのようです.運が良いことには, iray は車のレンダリングには向いています...しかしもちろん,改善の余地は常にあります.

iray 2.0 では我々は内部のマテリアルのモデルの改善に注力しました.その結果,とてもパワフルなモデルができあがりました.それは BRDF を柔軟に層化(layering) することを可能しました.その結果,基本的なカーペイントを比較的直感的に作成できるようになりました.私達はまず最初に拡散(diffuse)層を下にしき,そしていくらか光沢(glossy)のある BRDF を混ぜ,Fresnel 効果のあるクリアコート層をその上に乗せます.これで単純なカーペイントができました.

しかしこれではちょっと退屈です.私達は金属薄片(metalic flake)の入ったカーペイントが欲しい気がします.というのも単純に金属薄片の効果がかっこいいからです: iray 2.0 には組み込み(built-in)のプロセジュアル(訳注: プロセジュアル(procedual),特定のアルゴリズムを走らせてマテリアルの効果を得る手法.たとえば,特定のパターンのテクスチャを作成するなど.) によって薄片を作成できます.これは層のモディファイヤー(モディファイヤー(modifier)変化させるもの)であり,実世界でもありうるように小さな薄片のある層の効果をもたらします.そのふるまいとパラメータは基本的に mental ray のmetallic paint シェーダーのものと同じで, 薄片の大きさと密度,どれだけ面の法線から金属片の方向を変化させることを許すかというパラメータからなります.

我々は単純なカーペイントからはじめました.この単純なカーペイントの最下層レイヤーとクリアコート層の間に一つの層を挿入し,そこに薄片のプロセジュアルを適用しました.標準的なメタリックペイントとして,私達は完全にスペキュラ(鏡面),あるいはかなり光沢のある BRDF の層を挿入することができます.これが金属薄片の高いスペキュラを模倣するのです.これがその結果です:

非常に小さな薄片を使うこともできます.そうするとちょっと離れてみればこれはまるで光沢のある BRDF のように振舞います.(薄片がマイクロファセットの役割をするのです!)

一方で,もっと少ない量の大きな薄片を使うことができます.これはメタリックペイントで著しい,きらきらした効果を生みます:

薄片層の色と薄片のパラメータをいろいろと変化させていくと,様々な種類のメタリックペイント,ファミリーカーから派手な高級車まで!,を作成できます.次の絵は青い金属薄片の層の上に更に緑の金属薄片の層を乗せたものです.

新しいマテリアルモデルはこれだけではありません,続く記事でそれらが紹介されることをご期待下さい.これは新機能の最初の例にすぎません.

PS: ここで示された滑ての画像は収束(converged)したものです."ノイズ"のように見えるものは金属薄片が見せる効果です.

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

以下は iray dev blog の個人的な翻訳です. この翻訳は iray 開発者あるいはNVIDIA とはまったく関係がありません.


原文: http://blog.irayrender.com/post/12196196279/welcome

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

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

iray 開発チーム

Wednesday, November 23, 2011

iray developer's blog

NVidia の iray 開発者達が iray の技術的な blog を書いています.

Thursday, September 8, 2011

mi-mode.el: mi file editing mode for Emacs.


mi file の編集用の Emacs mode (mi-mode.el) があります.個人的には便利だと思います.

Tuesday, September 6, 2011

mental ray/iray の camera の用語に関して気がついたこと.


もともと mental ray のカメラは pinhole camera であったので,通常のカメラと違う用語の利用があるため,ここに示しておく.

aperture: これは film の width である.レンズの開口径とは関係がない.mental ray あるいは iray/neuray のカメラはもともと pinhole camera なので,レンズのサイズというものはなかった.

focal: これはレンズの位置からセンサーの位置までの距離である.pinhole camera ではピントはどこにでも合うので focal length の意味はないが,aperture と focal から horizontal 方向の field of view が計算できるのでそのためにあるようだ.

aspect ratio: これは film の aspect ratio である.解像度やカメラの形状とは関係がない.aspect ratio = film width/film height である.aperture, focal, そして aspect ratio を使うと鉛直方向の field of view が計算できることは注意しておいてよいだろう.

mental ray/iray camera model (pinhole camera) without lens shader 

今のカメラは depth of field などができるように拡張されているので,この用語は混乱しやすい.depth of field のために lens_radius や focus_plane_distance という parameter を持つ lens shader がある.

カメラに関しての記述は Andy Kopra の Writing mentalray Shaders の 24 章がわかり易い.

ところで今年の春に mental image は完全に NVidia の子会社に統合された http://www.mentalimages.com ようだ.会社は NVidia ARC (NVidia Advanced Rendering Center) という名前になった.

SIGGRAPH では NVidia は今後も mental images の製品をサポートしていくということだ (http://www.nvidia.com/object/siggraph-2011.html)が,GPU やcloud をより利用していく方向を打ち出していた.ただ,mental images の名前がなくなってしまうのはちょっと寂しい.