イベント
[CEDEC 2011]モンテカルロ法が拓くCGの可能性,高精度ボリュームレンダリングの新たなアプローチとは
CEDEC最終日(2011年9月8日),東京大学大学院の楽 詠灝氏による「あなたのボリュームレンダリングはまちがっているかも!? レイマーチングに替わる高速かつ正確なモンテカルロアプローチ」と題した講演が行われた。
ポリゴンとラスタライズによるリアルタイムCGも,そろそろ行き着くところまできており,次世代のリアルタイムCGは,レイトレだボリュームだポイントベースだと,いろんなレンダリングシステムに注目が集まりつつある(かもしれない)昨今,ボリュームレンダリングというのはどのようなことをやるのかを含めて最先端研究を紹介してみたい。
ということで,話はボリュームレンダリングで必要な積分部分についてや,モンテカルロ法による積分を効率的に行う手法などに移っていく。一般的な宝くじなどでの離散的な期待値とは違った連続的な期待値を求める式が提示された。
この際に,目的の関数f(x)と,どんな感じでサンプリングしていくかを示す確率分布関数p(x)を掛けたものを積分するのだが,連続的な期待値はf(x)の総和をサンプリング数で割った平均で近似できることが示された。右辺からはp(x)が消えているのがポイントなのだろうか。
なんとなく狐につままれたような展開だが,モンテカルロ法の特徴をここで挙げておこう。まず,サンプリング数(試行数)が多くなるほど,解の精度は高くなる。もう一つモンテカルロ法には誤差が「不偏」であるという重要な特徴がある。誤差の平均は必ず0になることから,厳密解の推定ができる。また,確率分布関数p(x),すなわちどういう風にサンプリングしてやるかを工夫してやると解の収束が劇的に高速になることが知られているという(インポータンスサンプリング)。ここでわざわざ付け足したp(x)を適切なものとすれば,高速化が図れるのだ。
例として照明計算での計算展開が示された。グローバルイルミネーションなどでよく登場するBRDF(双方向反射分布関数)の場合,積分をモンテカルロ法にし,上辺にあるf(x)相当の部分以外の項をp(x)として与えると,非常に簡単な式に落ち着くことが分かる。ちょっと目が点になる展開だが,関数の出力の総和を試行数で割ると期待値になるというのは当たり前の結果といえるのだろうか。
ボリュームレンダリングとは
そもそも,ボリュームレンダリングとは,ポリゴンなどの表面しか定義されていないものではなく,中身まで詰まった物体を記述するものと説明されることが多い。中身が詰まっていると,どういうときよいかというと,視点が物体内に入ったときに見えるものや,物体が不透明でなかった場合の見え方などをより正確にできる。とくに半透明体や雲や煙のような物体とも呼びにくいものの場合に,威力を発揮する。ポリゴンなどでは擬似的にしか表現できない部分まで踏み込めるのだ。今回扱われているのは,そういう半透明な媒体の中でも,密度の違う媒体が混在している状態を対象とした,非常に高度な内容となっている。
画質や性能に関しても,かなり優れている。
現在,ボリュームレンダリングで広く使われているレイマーチング法というのがなにをやっているかというと,媒質の中に光を飛ばし,ちょっと進めては散乱や減衰を計算するというのを繰り返している。そうやって,もやもやっとした媒質の状態などを表現しようとしているわけだ。しかし,値は不正確で,試行回数によって得られる結果はかなり変わってしまう。
こういった欠点を持たない方式としては,もともと原子力分野での研究として存在したWoodcook Tracingという手法が解説された。レイを少しずつ伸ばしていくあたりはレイマーチングと似ているのだが,採用確率というものを用意して散乱するかどうかを決めるという手法だ。出力結果などはよいのだが,媒質が薄いところでは採用確率が下がるため,効率が落ちるなどの問題があるという。
そこで,今回の講演の主題となる方式が提案される。提案方式は,空間を媒質の密度ごとに細分化してしょるするというアイデアをもとにしている。Woodcook Tracingでの効率低下を防ごうというわけだ。
空間を分割することで発生する問題というものもあり,区分点を越えて隣の区分に移った光だと,結果の不偏性が保てないのだそうだ。そこで,隣の区画に飛び込んだ光は,一度区画境界まで引き戻され,そこから処理が続けられる。こうすることで,不偏性が保たれるのだという。
そんなこんな最適化を施された結果,従来法に対して数倍から数百倍の高速化が達成されたという。まあ,リアルタイムレンダリングにはほど遠く,1枚の描画に数百分を要するような状況だが(演算にはCUDAが使われている模様),今後のアルゴリズム改良や品質などの割り切り,ハードウェアの進化などで,似たようなものがゲームで使えるようになる日もくるのかもしれない。とりあえず,サンプル画像を眺めてみよう。
グランドキャニオンのシーンなどは,かなり広い空間をボリュームレンダリングしており,地形や雲などは衛星写真などをもとにデータ化したもので,使用されている光源は太陽光のみとなっている。もやのかかり具合や,雲の落とす影,あちこちで散乱した光による照明の具合などは,かなり高品質だ。
今回の手法そのものが将来的にゲームに使われる可能性は低いかもしれないのだが,よりもモンテカルロ法などによる積分の高速化などは,かなり可能性を秘めたアプローチである。講演終了直後に,トライエースの五反田氏が講師のところに駆けつけていたのも印象的だった。物理ベースレンダリングはさらに進化していくのだろうか。
なお,今回の講演は2010年のSIGGRAPH ASIAで行われた「非均質関与媒質のレンダリングのための不偏で効率的な重点的サンプリング手法」を基にしており,論文の要約やムービーについては,東京大学のサイトで公開されているので,より詳しい内容についてはそちらをご覧いただきたい。
- この記事のURL:
キーワード