s1 トップ
s2 最新情報
s3 解説記事
s4 SIGGRPAH開催と教育関連
s5 CGツール報告
s6 映像レポート
s7 SIGGRAPH2007CFP日本語訳
s8 SIGGRAPH情報
s9 CG-ARTS











SIGGRAPH2007 セッション、論文等に関する報告(3)
2007.09.27

 2000年を迎えてからの数年間は、CGのあらゆる研究開発の中で、GPU技術の研究開発が最も活気を帯びていた時代だったといえる。GPU以外の分野で発表されるSIGGRAPH論文の数々も、多かれ少なかれ、なんらかの意味でGPUを意識していたといっても過言ではない。だが、この動きも昨年あたりから一段落し、GPU技術も「今、何が必要とされるか」ということに焦点を当てた、より実用化に即した技術へと移りつつある。その研究の方向性も、特殊なハードウエア(チップ)を開発するよりは、既存のハードウエアを用いながらも独自のアイデアを加えて複雑な表現を実装するという方向性が主流になってきているようだ。ある意味ではGPUの研究開発も成熟期に入ったといえるのかもしれない。(倉地紀子)

●GPUでインタラクティブなライティング
 このような研究の方向性が最もよくあらわれていたのが、レンダリング関連の論文セッションの中でもひときわ人気の高かった「Lighting」のセッションだった。タイトルこそライティングとなっているが、このセッションでは、登場した論文のすべてが、GPUを活用したインタラクティブなリライティングをテーマとしていた。もう少しわかりやすくいうと、一度レンダリングした結果を再利用して、任意のライティングのもとでの物体の見え方をインタラクティブに算出するというのが、その実質的な目標といえる。
 これまでにも紹介してきたように、近年では映画制作においても、インタラクティブなフィードバックという要素が不可欠となってきている。このためか、このセッションで発表された論文の多くが、これまでGPU技術がターゲットとしてきたゲームなどのジャンルだけでなく、映画制作での活用まで視野に入れていた点も印象的だった。
 「Lighting」のセッションの中でも、最も大きな話題となったのは、MITとILMとの共同開発によって発表された「Lightspeed」というシステムだった。レンダーマンでレンダリングしたものを、ライティングを変えてインタラクティブに再レンダリングすることを目的にしたものだが、そのスピードの速さと、プロダクションワーク向けの充実した表現機能が高く評価されていた。ILMの映画プロジェクトですでに実用化されているという点も、注目度が高かったゆえんなのだろう。

●複数の点光源をインタラクティブに足し合わせ
画像1
“Matrix Row-Column Sampling for the Many-Light Problem” (Milos Hasan, Fabio Pellacin, Kavita Bala, Proceedings of Siggraph2007)より(c)ACM

(1)シーン内のサンプル点を各光源で照らしてレンダリングした結果を、行列に格納する(最初の2つの図)。行列の縦方向がシーン内の位置(点)の並び、横方向が光源の並びとなっている。

(2)行列を解析して光源全体をクラスタ化する。

(3)各クラスタの中心にあたる光源を個々に用いて、シーン全体をレンダリングする。

(4)(3)の結果に重み付けをして足し合わせたものが、シーン全体をすべての光源を用いてレンダリングした結果となる。



 同じセッションでコーネル大学から発表された「Matrix Row-Column Sampling for Many-Light Problem」という論文も話題となっていた。
 近年では、複雑な光の挙動(間接光の影響、サブサーフェース スキャタリング、HDR環境マップを用いたライティングなど)を、点光源によって近似する手法が次々に編み出されている。そのような背景を考えてこの論文では、多数の点光源が混在するシーンのレンダリングをGPUによって高速化することを目指している。
 具体的には、シーン全体に散らばる多数の点光源の中から、シーンのライティングを代表する点光源を選び出し、これらの点光源で単独にシーンを照らしてレンダリングした結果をまず算出しておく。点光源をうまく選び出しておくと、選び出された個々の点光源を用いてレンダリングした結果に重み付けをして足し合わせるだけで、シーン全体のすべての点光源を用いてレンダリングした結果を近似することができるのだ。
 代表となる光源を選び出すためには、まずシーン内のサンプル点を各光源方向から照らしてレンダリングした結果を格納した行列をつくる。それを解析して光源全体をクラスタ化する。各クラスタの中心にあたる光源が、シーンのライティングを代表する光源となる。
 行列を用いたクラスタ化としては、一回目で紹介したピクサーの論文でも用いられていたPCAという手法が現在のCGでは一般的になっているが、今回の論文では独自のクラスタ化の手法を考案しており、これがうまく光源を選び出すための鍵となっている。
 個々の点光源を用いたレンダリングとその結果に重み付けをして足し合わせる作業はGPUがおこなうが、代表となる点光源を選び出す作業はCPUがおこなう。シンプルなアルゴリズムながら、デモ映像を見る限りスピードも表現力もなかなかのもので、この分野の研究者の間でも評価が高かった。

●「重みづけ」で複雑なレンダリングを効率化
 複雑なレンダリングの計算を、前計算の結果に重み付けをして足し合わせることによって近似するというアプローチは、GPUを用いたレンダリングの効率化には頻繁に登場する。
 テクニカルスケッチでNVIDIAが発表した「A System for Efficient Rendering of Human Skin」も同様なアプローチをとっている。このシステムでは、2004年に発表されたマルチポール(複数の点光源)を用いたサブサーフェース スキャンタリングの計算を、ガウス関数を用いた基底関数に重み付けをして足し合わせたものによって近似する。
 実際には、基底関数の足し合わせは、3Dモデルを開きにした2Dのテクスチャ平面上でおこない、その結果生成された2Dテクスチャを再び3Dモデルにマッピングするという方法をとっている。
 ただしこの場合、重みの値として理論値を用いると、3Dモデルにマッピングした際に部分的に歪みが生じるケースが出てくる。そこで、これを防ぐために、部分的にu方向とv方向のそれぞれに少し引き伸ばした画像を作成し、これらの画像を参照して、重みの補正をおこなっている。
 3Dモデルを開きにした2Dテクスチャを用いる方法は、映画「マトリックス・リローデッド」で人間の顔の質感をつくりだすために用いられた手法がヒントになっているという。マルチレイヤーに対応した物理的にも正確なサブサーフェース スキャンタリングを、GPU上で実装したのはこれが初めてだといえ、幅広い層の人々の大きな関心を集めていた。

●NVIDIAがGelatoの機能強化を予告
画像2、3
Gelato v2.2を用いてNVIDIAが作成したショートフィルム。V2.2で大きく進化した毛の表現をアピールしたものとなっている。(c)ACM



 NVIDIAのレンダラといえば、2004年に発表されたGelatoというGPUとCPUのハイブリッド・レンダラがある。今回著しく大きな変化は見られなかったが、性能は確実に向上しているようだ。中でも毛の表現機能が充実したということで、これをアピールしたショート フィルムも作成された。
 ユーザー ミーティングでは、Gelatoを用いてハリウッドのプロダクションが作成した海のシーンも披露されていた。もっとも、来年度には非常に画期的な機能が加わるそうで、開発を率いるラリー・グリッツ氏は、今回それが見せられなかったことがとても残念そうだった。
 早い時期からグローバル イルミネーションやハードウエア レンダリングの実装に強い関心を抱いていたグリッツ氏は、映画「モンスターズ・インク」の終了と同時にピクサー社を去り、自ら会社を設立して自社ライセンスのレンダラを発表する。だが、その直後、このレンダラに対してピクサー社が起こした訴訟に敗訴。現在のGelatoは、敗訴によって消え失せた夢多きレンダラの流れを汲んでいるともいえる。

●プロダクションが追求するレンダリング画質
画像4
Gelato v2.2を用いてFrantic Filmsというプロダクションが作成したショートフィルム。レイトレーシングやサブサーフェース・スキャタリングなどの機能を用いてフォトリアルな質感をつくりだしている。
Frantic Filmsはハリウッド映画のVFXやプレビジュアライゼーションを多数手掛けており、シミュレーションを中心にした高い技術力には定評がある。(c)Frantic Films



 NVIDAからのリリースというからには、最終的にはすべてGPUになるのではという見方をする人も多いが、グリッツ氏はこれを否定する。GPUのすざまじい成長速度を考えると、将来的にはGelatoのほぼすべての機能がGPUによって処理されることになるだろう。ただし、GPUはあくまで「機能」を実行するためのもので、レンダラそのものをGPUで置き換えるということはできない(CPUによるコーディングも必要)というのがグリッツ氏の見解だ。
 もちろん、そこには、Gelatoが映画プロダクション向けのレンダラであるという背景もある。グリッツ氏いわく、この5年間でプロダクションにおけるレンダリング技術は著しく進歩したが、唯一変わらなかったのが一つのシーンのレンダリングにかかるトータルの時間なのだという。
 ある表現がより高速にレンダリングできるようになると、プロダクションはより複雑な表現を加えようとする。その結果として、トータルのレンダリング時間は一向に変わらない。つまり、プロダクションは予算が許す範囲内の時間でレンダリング出来る限りの複雑な表現を次々に盛り込もうとするわけで、その複雑さの進化に、必ずしもGPUの進化が追いつけるとは限らない。映画制作において「今」必要とされる表現を可能にするためには、やはりCPUとの共存が必要なのだ。

●重要性を増すインタラクティブ機能
 トータルのレンダリング時間が変わるかどうかはさておいて、次の5年間でプロダクションのレンダリング技術はどう変化するのかというと、やはり、よりインタラクティブであることの重要度が高まってくるだろうとグリッツ氏はいう。
 実際のところ、現在Gelatoが最も重点的に開発を進めているのもこの点なのだそうだ。前述した画期的な機能というのも、このインタラクティブに関連したものらしい(注)。理論と実装の両面で、より複雑な表現をよりインタラクティブにという方向性が、GPU技術の一つの大きな柱になりつつあるのは確かなようだ。
 もっとも、これはあくまで現時点で見えている一つの方向性でしかない。成熟期に入ったとはいえ、CGの歴史全体の中でみれば、GPUはまだ産声をあげたばかりだ。その未知の可能性には、大きな期待がかけられている。
 【注】詳細はまだ明かせないようだが、具体的には新しいレンダリング モードで、このモードでは、ライティングまたは視点のいずれかだけが変化した場合には、シャドウなども含めた再計算をおこなって、インタラクティブにレンダリング結果を算出する。

▲ページトップに戻る