Sony Pictures Imageworks のグローバルイルミネーションのレンダラー Arnold について

概要

  • この記事ではグローバルイルミネーションのレンダラーである Arnold について簡単に説明します.
  • Arnold は Sony Pictures Imageworks 社と Solid Angle SL 社によって共同開発されたレンダラーです.
  • 以下はArnold でレンダリングした CG 映画の場面です.



説明

    • Arnold は物理ベースなモンテカルロ法に基づくレイトレーサーです.
    • またフォトンマップやイラディアンスキャッシュというようにマルチパスによるキャッシュ計算はせずに, レイトレースによる単一パスから構成されます.
    • また視点方向からの単一方向のパストレーサーです.
    • 実装については C/C++ の最適化したコードからなっていて 200,000 行らしいです. またマルチスレッド対応, SIMD 対応です.
    • 最後に Arnold は Unbiased なレンダラーです. Unbias なレンダラーとはピクセルの輝度計算した結果の誤差が分散(統計学的な)にのみに依存します.
    • 輝度計算した結果の誤差(分散)を減らすには飛ばすレイのサンプル数を増やす必要があり, n 個のサンプル数によって √n だけ誤差が減ります.
    • Unbiased Rendering (Wikipedia English)
  • Arnold の長所
    • 1 パスのレンダリングになっていてシンプルです. (追加のファイルやキャッシュが不要です.)
    • レイのサンプル数というパラメータしかないので, シンプルです.
    • レイトレースのみでシャドウを計算するんで, シャドウマップが不要でシャドウの計算が完璧です.
    • 計算の品質をプログレッシブに改善可能です. (光源, シェーダ, カメラを動かした後に再計算で品質を改善できます.)
    • GI やライティング用にデータを保存しておく必要がないです.
  • Arnold の短所
    • マルチパスによる計算のキャッシュ化をしないので計算が重いかもしれませんが, そこは CPU が強力になること(マルチスレッド, CPU のマルチコア化)でカバーできることを前提にしています.
    • 1 パスでレンダリングするため, 幾何形状を常にメモリに載せておく必要があります.

参考文献