ニュース
SIGGRAPH Asia 2009,David Kirk氏基調講演レポート。「グラフィックスは並列化されていく」
現在,CUDAのエバンジェリストを務める氏の演題は,「ヘテロジーニアス・コンピューティングの効果」。基本的には,GPUを用いたレイトレーシングの可能性といった話が中心だったが,ゲームへの応用など,4Gamer的に大変気になるテーマもあったので,今回はそのあたりを中心にレポートしてみたい。
レイトレーシングAPI「OptiX」とゲームへの応用
古くからの4Gamer読者には釈迦に説法だが,Kirk氏はコンピュータグラフィックス業界におけるパイオニアの一人であり,1997年のNVIDIA入社後は,チーフサイエンティストとして,長きに亘(わた)り,NVIDIA開発部門の“顔”を務めてきた人物だ。2009年1月にその座をBill Dally氏に譲ってから,一時期は表舞台に立つ機会が減っていたが,最近はCUDAエバンジェリストとして,大学などで講演を行うことが多くなっているという。
それゆえに,「GPUの並列処理能力を効率的に働かせることが可能な,CUDAというアーキテクチャが重要になってくる」(Kirk氏)。
では,そんなGPUで何をやるのか? 今回の講演で,Kirk氏が多くの時間を割いたのが,レイトレーシング(Ray Tracing)である。
ご存じのように,現在のDirectXやOpenGLでは「ラスタライズ」(Rasterization)という手法――空間にポリゴンを置いて,それをピクセルに変換するという手法――を用いている。これに対して,(CGにおける)レイトレーシングでは,ピクセルの側から,ピクセルに当たる光線を光源へ辿ってポリゴンを探索するという手法を採用しており,「ちょうど,ラスタライズと逆のオーダーになる」とKirk氏は説明する。
OptiXの概要。プログラマがセットアップした情報とプログラムを,JIT(Just In Time)コンパイラがGPUのプログラムに変換して実行する形になっているとのことだ |
Weta Digialと共同で,「OptiXを用いて,制作過程におけるライティングとレビューの工程を一本化するアプリケーション」を開発。大幅な作業の効率化を可能にした例が紹介された |
氏は,「レイトレーシングAPI(=OptiX)をGPUへ実装するに当たって,いろいろな教訓を得ることができた」と振り返っていたが,ともあれ,このOptiXを用いれば,レイトレーシングを用いたインタラクティブなグラフィックスを作成することができるという。
OptiXはすでに商用アプリケーションで採用されており,映画のVFXを手がける著名なプロダクション,Weta Digitalとの協業において,制作過程の大幅な効率化を果たした例などをKirk氏は紹介していた。その例としてスクリーンショットも紹介されたのだが,残念ながら撮影不可ということで,お見せすることはできない。
ここでボクセルレンダリングが出てきた理由について,Kirk氏は「レイトレーシングは,データベースに非常にコストがかかるからだ」と説明する。平たく言えば“重い”のだ。リアルタイム性が求められるゲームなどのアプリケーションでは大きな問題となる部分だが,ここをボクセルレンダリングで軽くしてあげようというわけである。
もちろん,解像度が低いボクセルレンダリングで得られる画像は良質ではない。だが,「いまのGPUにとって,クリッピングやアンチエイリアシングは“コストフリー”だ」(Kirk氏)。粗いボクセルレンダリングの画像でも,ポストプロセッシングで向上できると,Kirk氏は指摘する。
さらに氏は,DirectXやOpenGLといったラスタライズ法と,CUDAベースのOptiXによるレイトレーシング法の中間に「興味深い領域がある」と述べ,その例を示して見せた。これは画像で見てもらったほうが分かりやすいので,下に並べたイメージをチェックしてほしい。
これは直接光のみでライティングした画像。間接光がないため,影が潰れて細部が見えない |
レイトレーシングの技法を用いて,部分的に間接光を計算する。丸い印の部分が,計算するところ |
すぐ左で紹介した「部分的に間接光を計算する」技法によって得られた間接光の画像がこれだ |
両方を合わせた結果がこれ。「非常にリアリティのあるグラフィックスになっている」とKirk氏 |
こちらは,比較対象として紹介された,擬似的な間接光を用いて表現された画像。要するに,現在,ゲームで多用されている手法だが,全体から受けるリアリティは,確かに一段劣る印象だ |
このほかKirk氏は,NVIDIAが以前からデモで良く利用している流体シミュレーションなどを示し,「GPUは演算能力のモンスターだ」と,GPUのパワーを強調。シミュレーションやレイトレーシングといった技術が「ゲームに乗るのが非常に楽しみだ」とも述べていた。
「グラフィックスは並列化されていく」
「CPUは確かに高速化していくだろうが,毎年20〜30%程度。一方,GPUの性能向上は加速しており,成長速度はCPUよりも速いのだ。将来,グラフィックスの手法は,根本的に変わっていくに違いない」――Kirk氏はそう述べて,講演を締めくくった。
レイトレーシングをゲームに用いるということは,2008年頃から現実味を持って語られ始めている。実際,ラスタライズによるリアリティの向上は頭打ちになりつつあるので,この状況を打開するためのレイトレーシング,というのは十分にあり得る方向だろう。
「部分的にレイトレーシングを取り入れる」という,Kirk氏が挙げたような例は,そう遠くない将来,ゲームにも取り入れられることになりそうだ。来るべき2010年にそれが見られるかどうかはさすがに疑問だが,3Dゲームのリアリティに,大きなブレイクスルーが訪れることを期待したい。
- 関連タイトル:
CUDA
- この記事のURL: