PRT実用化に向けた進化を導いた独自の方法論

2002年のSIGGRAPHで発表された元祖PRTの論文は、ある意味ではPRTのコンセプトやフィロソフィーを表したもので、実用面から見ると表現的な制限がかなり多かった。しかし、それから2 年ほどの期間にPRTは進化し、より汎用性の高い表現が可能となった。Kautz氏は、その進化の最初のステップにあたる非常に重要な部分を導くうえでも大きな貢献を果たした。

元祖PRT最大の限界は、レンダリングを行う物体表面の反射特性が非常に限られていたということだ。具体的にいうと、完全なディフューズ反射やフォングモデルで表される最もシンプルなスペキュラー反射以外の反射特性をもった物体表面のレンダリングは、元祖PRTでは不可能だったのだ。そこでPRTの改善は、まずPRTをいかなる反射特性を有する物体表面にも適用できるようにすることから始められた。そのためには、SH基底関数を用いたレンダリングを任意の反射特性(任意のBRDF)に対応させる必要があった。

物体表面上での反射は、反射特性を表す関数(反射関数:BRDFと光の入射角の余弦を掛け合わせたもの)と入射光の積を半球面上で積分する計算で導ける。そしてこの計算にSH基底関数を導入すると、反射特性を表す関数をSH展開した係数と、対応する入射光をSH展開した係数同士を掛け合わせ、それらをすべて足し合わせることによって算出できる。つまり、レンダリングに先立って反射関数および入射光をSH展開し、その係数を算出しておけば、レンダリング時の反射計算は、これらの係数同士の掛け算となる。本来積分の計算が必要とされる反射計算を、このような単純な掛け算で置き換えることによって、レンダリングの計算を大幅に効率化できるのだ。ただし前述のように、レンダリング計算をSH基底関数の係数同士の掛け算として行うためには、反射関数と入射光とを同じ変数のSH基底関数を用いてSH展開する必要がある。しかしながら、一般的な反射関数は、光の入射方向/光の反射方向/物体表面の法線方向の3つの方向に依存しており、解析的にこれを入射方向だけに依存する関数として表すことは不可能だ。この問題を解決するために、Kautz氏はサンプリングとテクスチャの概念を導入する方法を提示した。

この方法では反射関数と入射光を、共に法線方向をz軸とするローカル座標系でSH展開する。法線方向をz軸とするローカル座標系で考えると、反射を表す関数は、光の入射方向と反射方向の2つの方向を変数とする関数になる。ここで反射方向を固定すれば、この関数は入射方向だけを変数とする関数になり、入射方向を変数とするSH基底関数を用いてSH展開できる。そこで、ローカル座標系の半球面上で視点方向をサンプリングし、サンプリングされたそれぞれの視点方向に反射方向を固定してSH展開する。この展開によって得られた各基底関数の係数の値をBRDFテクスチャとして保存する。BRDFテクスチャは複数のサブテクスチャ(テクセル)から構成されており、各テクセルが各基底関数に対応している。それぞれのテクセルの各ピクセルには、サンプリングされた各視点方向に反射方向を固定してSH展開した係数の値が保存されている。テクセル内のピクセルの値を補間することによって、反射方向を任意の視点方向に固定して展開した場合の係数を知ることができる。これらの係数と、対応する入射光をSH展開して得られる係数同士の積をすべて足し合わせたものが、任意の視点方向に対するレンダリング結果となる。これによって、理論的には、どのような反射特性を有する物体表面に対してもPRTを適用できるようになった。

これまで見てきたように、リアルタイム・レンダリングというテーマを前面に押し出しながらも、Kautz氏の研究成果には物体表面の反射特性に対する奥深い洞察が光っており、その一方でマッピングやテクスチャという概念を高い自由度で導入しているところも大きな特徴だった。前述の研究では、そういったKautz氏ならではの方法論がPRTの大きな進化を導いたといえるだろう。

図F

PRTを任意のBRDFに対応させるためには、SH基底関数を用いたレンダリングを任意のBRDFに拡張する必要がある。この論文ではBRDFテクスチャというものを導入し、これを可能にしている。BRDFテクスチャは各SH 基底の係数を表すテクセルから構成されており、各テクセルの各ピクセルがサンプリングされた各視点方向をローカル座標系に変換したものに対応している。したがって、これらのテクセルから特定の視点方向に対応したピクセルを拾い出したベクトルを作成し、環境光をSH展開してやはりローカル座標系に変換したベクトルを掛け合わせることによって、レンダリング結果を得ることができる。

“Fast Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics”
(Jan Kauts, Pter-Pike Sloan, John Snyder, Proceedings of the 11th Eurographics Workshop on Rendering, 2002)

リアルタイム・レンダリング研究を牽引する、第一人者としての知名度の確立

MSRでのインターン中にPRTの考案や改善に大きな役割を果たしたKautz氏は、母国のMPIIに戻ってからも、Slone氏やSnyder氏と共に世界各地のCGやゲーム関係のコンファレンスにおいて、PRTにちなんだリアルタイム・レンダリングのコースやレクチャーを頻繁に行うようになった。同時にKautz氏は、ヨーロッパの他大学の研究者らとの共著によって、実に多様なリアルタイム・レンダリングの方法を発表した。その中には、これまでのKautz氏の研究の方向性とは少し違ったものもあった。たとえば、ダイポールを活用したサブサーフェーススキャタリング・モデルをGPUに適した形にモディファイした方法の数々が挙げられる。一般的な博士課程の学生は、論文発表の経験を積んだ研究者らの支えで、ファーストオーサーとして論文発表するケースが多い。しかしKautz氏の場合は、すでにこの時期にファーストオーサーを支える立場に回っていた。

前述したように、Kautz氏はPRTのプロジェクトを通して、同じ研究テーマであっても、新たな才能ある人々との出会いを経ることで、さまざまな視点からの考察が加わり、研究に広がりが生まれることを学んだと語っている。この時期の国境を越えた活動には、この学習成果が現れていたともいえそうだ。リアルタイム・レンダリングの第一人者としての知名度が確立されてきたのもこの時期で、やがてKautz氏はPRTというテーマのみならず、より一般的なリアルタイム・レンダリングのテーマを掲げてSIGGRAPHをはじめとした世界各地のCGやゲーム関連のコンフェレンスでリーダー的な役割を果たすようになっていった。

図G

2001年にJensen氏らによって考案されたダイポール・モデルをGPUベースのリアルタイム・レンダリングに適用可能にした方法は、光の入射点のサンプリングを、複雑な幾何形状の物体表面そのものに対して行った。この研究では、物体表面の接平面に対して推測されるBSSRDFをもとにインポータンス・サンプリングを行っている。図Gの上段は、GPUを用いて1秒間に4~5フレームのスピードでレンダリングしたものである。

“Efficient Rendering of Local Subsurface Scattering”
(Tom Mertens, Jan Kautz, Philippe Bekaert, Frank Van Reeth, Hans-Peter Seidel, Proceedings of Pacific Graphibs 2003)