お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
[GDC 2017]NVIDIAが推進する次世代GIは,ライトフィールドを使って「手軽に完全なGIレンダリングを実現する」
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2017/03/04 22:27

イベント

[GDC 2017]NVIDIAが推進する次世代GIは,ライトフィールドを使って「手軽に完全なGIレンダリングを実現する」

 Game Developers Conferenceにおけるゲーム関連技術と言うと,「最新のゲームタイトルでこう実装しました」という話が多く,研究段階のものを聞けるケースは,実のところそれほど多くない。

Irrdiance & Light field Probes with Visibilityについて語った,NVIDIA ResearchのMorgan McGuire氏
画像集 No.025のサムネイル画像 / [GDC 2017]NVIDIAが推進する次世代GIは,ライトフィールドを使って「手軽に完全なGIレンダリングを実現する」
 その意味で貴重だったのが,GDC 2017でNVIDIAの研究開発チームが行った「Real-Time Rendering Advances from NVIDIA Research」(リアルタイムレンダリングの進歩)というセッションだ。ここでは合計3名が登壇し,それぞれことなる技術を明らかにしたのだが,本稿ではその中から,高品位な大局照明(Global Illumination,以下 GI)を実現する「Irrdiance & Light field Probes with Visibility」を取り上げたい。大雑把に言えば,ライトプローブとリフレクションプローブの先進的実装に関する話だ。

画像集 No.002のサムネイル画像 / [GDC 2017]NVIDIAが推進する次世代GIは,ライトフィールドを使って「手軽に完全なGIレンダリングを実現する」
 いきなりプローブと言われたところで分からない人もいるかもしれないので,簡単に説明しておこう。
 リアルタイムグラフィックスでは,周囲の情報を上下左右360度全周で記録するものとして「プローブ」(Probe)という球体を利用することが多い。
 ただし,プローブは概念的なものであって,ゲーム内に直接表示されることはない。あくまでも,当該位置における情報を記録したものだ。

 プローブにもいくつか種類があるのだが,たとえばライトプローブ(Light Probe)は,その位置に入ってくるすべての角度からの光の情報を記録したものというイメージになる。その光の情報に従って陰影を付ければ,間接光などを反映した,極めて自然な仕上がりにできる。ゲーム開発の現場では,そういったものを空間に一定間隔で設置しておいて,途中の地点では近くのプローブの情報を補間しつつ使用するというのが一般的だ。
 ライトプローブに記録されているのは事前計算による陰影なので,光源が動くなどすると使えないのだが,それを補うシステムを入れてあることが多い。

左は直接光のみ,右は間接光を反映させた描画
画像集 No.003のサムネイル画像 / [GDC 2017]NVIDIAが推進する次世代GIは,ライトフィールドを使って「手軽に完全なGIレンダリングを実現する」 画像集 No.004のサムネイル画像 / [GDC 2017]NVIDIAが推進する次世代GIは,ライトフィールドを使って「手軽に完全なGIレンダリングを実現する」

 ライトプローブデータの作成には,360度撮影できるカメラで現実世界の光源情報を取り込んだり,ゲームなどではプローブ位置から全周をレンダリングしたりして,その画像をキューブマップや球面調和関数に保存のうえ,光源情報として使うというのが一般的だ。
 イレイディアンスプローブ(Irradiance Probe,放射されてくる光を記録したプローブ)も,反射光を扱うなど精度が上がっているものの,実態はほぼライトプローブと同じと思っていいだろう。

 さて,比較的低負荷でリアルな光源情報を得られるライトプローブは,最近のリアル系ゲームでは欠かせない存在なのだが,弱点も持っている。
 先ほど,周りのプローブの情報と補間して陰影を作ると書いたが,たとえば「部屋の中にあるプローブ最寄りのプローブが,部屋の外にある」とすると,部屋の中なのに日差しが入り込んだりすることがあるのだ。なので,事前に遮蔽物の位置である程度フィルタリングしておくことが一般的だが,それでも漏れてくる光があったり,プローブが物体内に入っていると不自然な影ができたりする。

「イレイディアンスプローブの抱える弱点」
画像集 No.015のサムネイル画像 / [GDC 2017]NVIDIAが推進する次世代GIは,ライトフィールドを使って「手軽に完全なGIレンダリングを実現する」
画像集 No.005のサムネイル画像 / [GDC 2017]NVIDIAが推進する次世代GIは,ライトフィールドを使って「手軽に完全なGIレンダリングを実現する」

 ということで,今回のトピック,1つめはその改良である。
 そもそもどんな光が漏れていたのかというと,点光源だという。最近よく使われるバリアンスシャドウマップ(Variance Shadow Maps,以下 VSM)法では,デプス値の平均と分散の2つのモーメントを利用しているが,VSMで使われるチェビシェフの不等式では適用範囲が狭いのだそうだ。
 今回のIrradiance Probeでもチェビシェフの不等式で可視判定をしているが,コサインで重み付けされた球の4分の1(90度)の幅で処理を行っているため,エッジを逃さないということらしい。

画像集 No.006のサムネイル画像 / [GDC 2017]NVIDIAが推進する次世代GIは,ライトフィールドを使って「手軽に完全なGIレンダリングを実現する」
画像集 No.007のサムネイル画像 / [GDC 2017]NVIDIAが推進する次世代GIは,ライトフィールドを使って「手軽に完全なGIレンダリングを実現する」

 そのレンダリング結果は以下のとおりである。

画像集 No.016のサムネイル画像 / [GDC 2017]NVIDIAが推進する次世代GIは,ライトフィールドを使って「手軽に完全なGIレンダリングを実現する」

左は光が漏れている状態だ。可視判定を行うことで正確な描画が可能となる(右)
画像集 No.017のサムネイル画像 / [GDC 2017]NVIDIAが推進する次世代GIは,ライトフィールドを使って「手軽に完全なGIレンダリングを実現する」 画像集 No.018のサムネイル画像 / [GDC 2017]NVIDIAが推進する次世代GIは,ライトフィールドを使って「手軽に完全なGIレンダリングを実現する」

左上から順に,可視判定なし,マップサイズ22,マップサイズ322,マップサイズ1282。「322が,光の漏れもなく,パフォーマンスもよい」とのこと
画像集 No.019のサムネイル画像 / [GDC 2017]NVIDIAが推進する次世代GIは,ライトフィールドを使って「手軽に完全なGIレンダリングを実現する」 画像集 No.020のサムネイル画像 / [GDC 2017]NVIDIAが推進する次世代GIは,ライトフィールドを使って「手軽に完全なGIレンダリングを実現する」
画像集 No.021のサムネイル画像 / [GDC 2017]NVIDIAが推進する次世代GIは,ライトフィールドを使って「手軽に完全なGIレンダリングを実現する」 画像集 No.022のサムネイル画像 / [GDC 2017]NVIDIAが推進する次世代GIは,ライトフィールドを使って「手軽に完全なGIレンダリングを実現する」

 プローブが物体内でも問題なく動いていることを見ても分かるように,プローブの配置を気にしなくても正確な結果が出てくることがメリットの1つでもある。従来は,手作業でちゃんと見えるように位置を調整する必要があったのだから,この違いは大きい。

画像集 No.008のサムネイル画像 / [GDC 2017]NVIDIAが推進する次世代GIは,ライトフィールドを使って「手軽に完全なGIレンダリングを実現する」
 次は,「これまでにないデータ構造を持ち込んだ研究」だ。用途としてはリフレクションプローブ(Reflection Probe)と同じながら,ライトフィールドプローブ(Light Field Probe)を使うのである。
 ライトフィールド(Light Field)は,光の方向や半径なども含め,「光の全情報を記録したもの」となる。

画像集 No.023のサムネイル画像 / [GDC 2017]NVIDIAが推進する次世代GIは,ライトフィールドを使って「手軽に完全なGIレンダリングを実現する」

 前提の話をしておくと,リフレクションプローブは,鏡面反射したときに映り込むであろう情報を記録したプローブである。

 「周りにある光の情報」という意味ではライトプローブとリフレクションプローブはだいたい同じ仕組みだが,前者の場合,明るさは大雑把でもまったく問題ないため,思い切って情報量を落としてしまうことが可能であり,そういう実装が一般的だ。それに対して後者は,あまり情報を落とすわけにはいかないという違いがある。

 それなら,光の情報量という観点において究極とも言えるライトフィールドプローブを使ってしまおうというのが,2つめのトピックである。

 説明によると,ライトフィールドには,イレイディアンスプローブのような光の輻射とその方向,輻射の距離になる。これらの情報を使い,プローブの内部だけでレイトレーシングを完成させるのだそうだ。

画像集 No.009のサムネイル画像 / [GDC 2017]NVIDIAが推進する次世代GIは,ライトフィールドを使って「手軽に完全なGIレンダリングを実現する」 画像集 No.010のサムネイル画像 / [GDC 2017]NVIDIAが推進する次世代GIは,ライトフィールドを使って「手軽に完全なGIレンダリングを実現する」

画像集 No.011のサムネイル画像 / [GDC 2017]NVIDIAが推進する次世代GIは,ライトフィールドを使って「手軽に完全なGIレンダリングを実現する」 画像集 No.012のサムネイル画像 / [GDC 2017]NVIDIAが推進する次世代GIは,ライトフィールドを使って「手軽に完全なGIレンダリングを実現する」


 ライトフィールドを使うと,イレイディアンスプローブと同様,プローブの配置に気を遣わずとも,正確な描写が得られるようになるという。

画像集 No.024のサムネイル画像 / [GDC 2017]NVIDIAが推進する次世代GIは,ライトフィールドを使って「手軽に完全なGIレンダリングを実現する」

 ライトフィールドプローブは研究途上で,現時点では,「GeForce GTX 1080」と使ったときに4〜10msの処理時間がかかるとのことだ。
 60fps時の1フレームが16.7msであることを考えると,60fps動作は難しそうだが,30fpsなら問題ないだろう。40〜50fpsで非常に正確なGIレンダリングが行われるようになるのであれば,すでに実用性があると言ってもよいのかもしれない。
 今後,さらにアルゴリズムが進化し,同時にハードウェアが高速化していけば,ゲームでも使えるようになっていくはずだ。まさに次世代のレンダリング技術といえる講演であった。

画像集 No.013のサムネイル画像 / [GDC 2017]NVIDIAが推進する次世代GIは,ライトフィールドを使って「手軽に完全なGIレンダリングを実現する」

GDC 2017記事一覧

  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:11月30日〜12月01日