Integrators
Mitsuba では、様々なレンダリング技術をインテグレータと総称しています。
それぞれのインテグレータは、光輸送方程式を解決するための特定の手法を表現し、それは特定のシナリオでは好まれますが、それと同時に、インテグレータ自身の本質的な制限による影響も受けます。
したがって、レンダリングするシーンの精度や特性に基づいてインテグレータを選択することが重要となります。
インテグレータの選択 - Choosing an integrator
Mitsuba にはインテグレータが多数あるため、適切なものを決めるのが難しいと思えるかもしれません。
レンダリングの目的が近似することではなく完全な光輸送方程式を解くことであると仮定すると、いくつかのインテグレータ (Ambient Occlusion, Direct Illumination, Virtual Point Light) は除外することができます。
Adjoint Particle Tracer もほとんど使用されません。
以下の「アルゴリズム」は、これら以外の中から決定するのに役立つでしょう :
- 適切なパストレーサでシーンをレンダリングしてみてください。これが希望している結果になるなら終わり。
- Mitsuba は現在、状況によって使い分けるために以下の 3 つのパストレーサが用意されています :
- シーンで Opacity mask を使用していない場合は 基本的なパストレーサである Path Tracer を使用します。
- シーンで Opacity mask を使用して、さらに光沢のあるマテリアルが使用されている場合は、Extended Volumetric Path Tracer を使用します。
- それ以外の場合は、シンプルなボリューメトリックパストレーサである Simple Volumetric Path Tracer を使用します。
- Mitsuba は現在、状況によって使い分けるために以下の 3 つのパストレーサが用意されています :
- ステップ 1 の結果が、ノイズが多かったり収束に時間が掛かったりした場合、双方向パストレーシング (Bidirectional Path Tracer) を試してみます。
- もし、ステップ 1 でも 2 でもレンダリングに失敗した場合、比較的難しいライティング設定が含まれていたり、複雑なマテリアルとの相互作用が潜在的に含まれていますので、この様な場合はプライマリサンプル空間 MLT (Primary Sample Space MLT) を試してみます。
- 上記のいずれでも働いていない場合、残りのオプションのフォトンマッピング (Photon Mapper, Progressive Photon Mapping, Stochastic Progressive Photon Mapping) またはパス空間 MLT (Path Space MLT, Energy Redistribution PT) を試します。
パス深度 - Path depth
ほぼすべてのインテグレータは、パス深度の概念を使用しています。
ここでのパスとは、光源から始まって目やセンサで終了する、散乱現象の連鎖を指します。
パス深度を制限することは、ピクセル当たりの計算量を減少させるので、プレビュー目的でシーンをレンダリングするときなどには便利です。
さらに、プレビューレンダリングでは、通常より速く収束させるため、ピクセルあたりのサンプル数も少なくします。
高品質でレンダリングしたい場合は、パス深度を無限に設定します。
Max. path depth: | 1 | 2 | 3 | ∞ |
Path Tracer, 256spp |
01m06.62s |
01m43.74s |
02m23.03s |
05m53.26s |
これらは Max. path depth の視覚的効果を示しています。
パスが長くなるにつれ、色の付いたサーフェスからの多重散乱の相互作用によって色の彩度が増加し、それと同時に計算時間も増大します。
Mitsuba は深度のカウントを 1 から開始します。
パス深度 1 とは、直接見えている光源に該当します。
すなわち、光源から始まって目またはセンサーで終わるまでの間になにも散乱相互作用が行われなかったパス、ということになります。
深度 2 となるパスはに、一回の散乱現象が含まれています。
これは、ダイレクトイルミネーションとしても知られています。
プログレッシブと非プログレッシブ - Progressive versus non-progressive
Mitsuba のいくつかのレンダリングアルゴリズム (Progressive Photon Mapping, Stochastic Progressive Photon Mapping) は、プログレッシブ方式です。
プログレッシブ方式は、粗いプレビューが表示され、時間の経過とともに改善されていくレンダリングです。
無制限に実行されているレンダリングをそのままにすると、偏りのないアルゴリズムのメトロポリス光輸送ではノイズを、偏りのあるアルゴリズムのプログレッシブフォトンマッピングではノイズと偏りを継続的に減らすことができます。
法線の厳密なチェック - Strict Normals
Mitsuba のほとんどのレンダリングアルゴリズムには、法線を厳密にチェックする Strict Normals オプションが用意されています。
このオプションを有効にすることで、潜在的な矛盾を含んでいるシェーディング法線があるかを厳しくチェックします。
三角メッシュは多くの場合、基になるジオメトリの本質的なファセット化外観を抑制するために補間されたシェーディング法線に依存しています。
しかし、これらの "偽" 法線が問題が無いわけではありません。
シェーディング法線に従うと "外側" と分類され、本来のジオメトリ法線に従うと "内側" とされる方向からオブジェクトにレイが衝突するという矛盾した状況をもたらす可能性があります。
このパラメータは、このような状況が発生した場合の動作を指定するものです。
このオプションが無効の場合は、シェーディング法線による情報が優先され、このようなライトパスでも有効とします。
これは理論的には、境界線を通る光の "漏れ" を引き起こす可能性がありますが、実際には大きな問題ではありません。
このオプションを有効にすると、パストレーサは不整合を検出し、これらのパスを無視します。
オブジェクトのテセレーションが不十分な場合、このオプションにより、かなりの入射放射量が失われて暗くなる可能性があります。
Mitsuba の双方向インテグレータ (Bidirectional Path Tracer, Primary Sample Space MLT, Path Space MLT 等) は、暗黙的に有効となっています。
したがって、これらのインテグレータによって作成されたレンダリングと一致させるために、このパラメータを使用するという使い方もあります。
直接見える発光体を隠す - Hiding directly visible emitters
Mitsuba のいくつかのレンダリングアルゴリズムは、環境マップや面光源といった直接見える発光体を隠す機能 (Hide Emitters オプション) を持っています。
特に現実的ということではありませんが、違う色のドキュメントに貼り付けるためにレンダリングから背景を削除したい時には便利な機能です。
ただしこの機能で非表示にすることができるのは直接見える発光体のみで、光沢のある表面での反射には影響しません。
また背景を透明にするには、[Active Camera Film Setting] にてアルファチャンネルを指定する必要があります。
※このオプションを有効にすると、Area Lamp や Point Lamp はただの白いオブジェクトとして表示され、Plane Emitter は黒いオブジェクトとして表示されました。Hemi Lamp による背景は、ピクセルフォーマットによって現象が変わり、ピクセルフォーマットが RGB の場合は黒に、RGBA の場合は透明になりました。また、このオプションが有効になっていなくても、ピクセルフォーマットが RGBA の場合、Hemi Lamp による背景は透明になりました。
ピクセルあたりのサンプル数 - Number of samples per pixel
Mitsuba のインテグレータの多くはピクセルあたりのサンプルの数に依存し、それが最終出力におけるノイズの量に関係します。
しかしこのパラメータはインテグレータのパラメータではありません。
サンプリングに関してはサンプルジェネレータが担っていて、[Mitsuba Sampler Settings] でジェネレータのタイプとサンプル数を設定します。
サンプルジェネレータに関しては、Sample generators を参照してください。
インテグレータとマテリアルとサンプル数の関係
Pixel samples: | 4 | 16 | 64 | 256 |
ao |
00m39.71s |
00m40.96s |
00m47.64s |
01m14.66s |
direct |
00m39.93s |
00m43.16s |
00m55.06s |
01m41.51s |
path |
00m44.22s |
00m59.56s |
01m58.84s |
05m54.90s |
volpath_simple |
00m45.45s |
01m00.95s |
02m03.62s |
06m17.21s |
volpath |
00m45.11s |
01m01.70s |
02m07.04s |
06m31.58s |
bdpt |
01m13.28s |
03m05.52s |
10m30.32s |
40m15.03s |
photonmapper |
02m01.94s |
06m02.25s |
22m03.34s |
01h01m25.50s |
ppm |
(02m17.16s) |
(04m03.00s) |
(04m12.93s) |
(16m45.60s) |
sppm |
(01m37.70s) |
(01m59.87s) |
(02m55.57s) |
(05m43.93s) |
pssmlt |
- |
- |
- |
- |
mlt |
- |
- |
- |
- |
erpt |
00m40.38s |
00m40.31s |
00m40.07s |
00m40.12s |
ptracer |
- |
- |
- |
- |
vpl |
00m37.03s |
00m35.74s |
00m35.75s |
00m36.75s |
- 最終更新:2014-07-31 09:00:38