オススメ機能
Twitter
お気に入り
記事履歴
ランキング
お気に入りタイトル/ワード

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

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

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

LINEで4Gamerアカウントを登録
次世代ゲーム機のグラフィックスはどうなる? CEDEC 2012 ゲーム開発マニアックス〜グラフィックス編
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2012/10/06 16:52

イベント

次世代ゲーム機のグラフィックスはどうなる? CEDEC 2012 ゲーム開発マニアックス〜グラフィックス編

トライゼット 西川善司氏
画像集#009のサムネイル/次世代ゲーム機のグラフィックスはどうなる? CEDEC 2012 ゲーム開発マニアックス〜グラフィックス編
 2012年8月20日から開催されていた日本最大のゲーム開発者会議「CEDEC 2012」では,一般セッションに交じって,各分野の専門家を集めたパネルディスカッションも開催されていた。CEDEC恒例となりつつある西川善司氏の司会によるパネルディスカッション「ゲーム開発マニアックス」は,昨年に引き続き「物理シミュレーション編」と「グラフィックス編」の2回に分けて行われたが,本稿では最終日に行われたグラフィックス編の模様をレポートしてみたい。

 今回のお題はズバリ“次世代ゲーム機を見据えたグラフィックス”である。Windowsでは,DirectX 11を利用したさまざまなグラフィックスの技術が開発され,その一部はゲームでも利用が始まっている。そろそろ次世代機に載るグラフィックスハードウェアの要件も見え始めたかなという感じで,それを意識しつつ話題のグラフィックス技術に関する話題が語られた。ざっくりと内容をレポートしてみよう。


レンダリングはDiferred系? それともForward系?


画像集#015のサムネイル/次世代ゲーム機のグラフィックスはどうなる? CEDEC 2012 ゲーム開発マニアックス〜グラフィックス編
カプコン 技術研究部 プログラマー 石田智史氏
画像集#021のサムネイル/次世代ゲーム機のグラフィックスはどうなる? CEDEC 2012 ゲーム開発マニアックス〜グラフィックス編
コナミデジタルエンタテインメント 小島プロダクション制作部 テクニカルディレクション担当 高部邦夫氏
画像集#016のサムネイル/次世代ゲーム機のグラフィックスはどうなる? CEDEC 2012 ゲーム開発マニアックス〜グラフィックス編
スクウェア・エニックス テクノロジー推進部 リードR&Dエンジニア 岩崎 浩氏
 今回はグラフィックス技術の開発に携わる5名のエンジニアがパネリストとして参加。4Gamerのライターとしても活躍している西川善司氏が司会を務めつつ,いくつかのテーマで議論が行われた。

 ここ数年で話題のグラフィックス技術というと,グローバルイルミネーション(以下,GI)が筆頭に挙げられる。GPUの高速化と新たなアルゴリズムの開発によりリアルタイムのGIが可能になってきたためで,今回のCEDEC 2012でもGIに関するセッションが数多く設定されていた。

 ただ,GI関係では主要なものだけでも片手では数えられないほど多数のアルゴリズムが開発されていたりもする。

 そのため,西川氏は「最初からGIを取り上げてしまうと,あれがいいこれがいいという話になってわけが分からなくなるので」と前置きしつつ,「GIなどを含め,まず次世代(ゲーム)機を見据えたレンダリングメソッドとしてDeferred系が望ましいのか,それともForward系なのかということを先に考えてみませんか」と切り出した。

 ここは若干の説明が必要だろう。3Dのレンダリングは大まかに頂点シェーダやジオメトリシェーダで頂点を処理し,ピクセルシェーダでピクセルの色や陰影を描くというような流れになるが,高度な映像を得るために複雑なピクセルシェーダプログラムを使うようになるといくつかの問題が生じるようになった。それは,ピクセルシェーダの計算負荷が重くなり,さらにGPUがサポートしている動的光源の数に制限があるため動的な多数の光源には対応できないといったような問題だ。

画像集#018のサムネイル/次世代ゲーム機のグラフィックスはどうなる? CEDEC 2012 ゲーム開発マニアックス〜グラフィックス編
Epic Games Japan サポート・マネージャー 下田純也氏
画像集#020のサムネイル/次世代ゲーム機のグラフィックスはどうなる? CEDEC 2012 ゲーム開発マニアックス〜グラフィックス編
NVIDIA デベロッパテクノロジーエンジニア 竹重雅也氏

 そこで,ジオメトリシェーダでいったんシーンをレンダリングしてしまい,そのときにピクセルシェーダ用のさまざまな中間計算を行って,結果を複数のG-Bufferに書き出しておき,その結果をもとにピクセルシェーダプログラムを走らせる方法が考案された。この手法は一種のマルチパスレンダリングであり,「Deferred(遅延) Shading」あるいはDeferred Renderingという呼び方で最近のゲームでは盛んに利用されるようになっている。

Deferred(遅延) Shadingの概要
画像集#003のサムネイル/次世代ゲーム機のグラフィックスはどうなる? CEDEC 2012 ゲーム開発マニアックス〜グラフィックス編

 Deferredに対して従来の手法を「Forward Shading」と呼んだりするのだが,最近になって「Forwardを改良したらどうか?」という提案も出てきている。その代表が,GDC 2012でAMDが発表した「Leo」デモに使われている「Forward+」という手法だ。

 Forward+では,いったんレンダリングを実行して,画面をタイルに分割したうえで光源の影響範囲をGPUのCompute Shaderで計算,その結果を基にあらためて通常のForward Shadingを行う。従来式のForward Shadingでは扱えなかった,多数の動的光源に対応できるのがこの方法の特徴となる。

AMDが提案したForward+ Renderingの概要
画像集#004のサムネイル/次世代ゲーム機のグラフィックスはどうなる? CEDEC 2012 ゲーム開発マニアックス〜グラフィックス編

Deferred系とForward+の主な利点と欠点。どちらにも利点と欠点はある
画像集#005のサムネイル/次世代ゲーム機のグラフィックスはどうなる? CEDEC 2012 ゲーム開発マニアックス〜グラフィックス編

岩崎氏を除きDeferred系を推すという結果に……
画像集#002のサムネイル/次世代ゲーム機のグラフィックスはどうなる? CEDEC 2012 ゲーム開発マニアックス〜グラフィックス編
 Deferred系とForward+で双方に利点と欠点があり,次世代ゲーム機ではどちらが優勢になるだろうかというのが最初の議題だ。西川氏はまず来場者とパネリストの双方に「Deferred系とForward系,どちらが望ましいと思うか」と質問して挙手を求めたが,どちらかというと会場はDeferred系が優勢。パネリストでは岩崎氏を除き,全員がDeferred系を推すという結果になった。

 やはり最近,Deferred系が実績を上げているので,こういう結果なるかなといったところだが,パネリストとして一人意見を異にした岩崎氏は「Forwardがきてほしいというのが(自分の)願い」とし,「(Deferred系は)シェーダのバリエーションが制約されるのが問題。このゲームはこういう映像だと決まっていればいいかもしれないが,我々はいろんなシェーダ(プログラム)を書いているので,Forward系のほうがやりやすい」と主張する。
 ちなみに,岩崎氏が開発に携わるゲームエンジンLuminous StudioはDeferredとForwardのどちらにも対応でき,話題をさらった同エンジンの技術デモ「AGNI'S PHILOSOPHY FINAL FANTASY REALTIME TECH DEMO」は「Forwardでやっている」(岩崎氏)そうである。

画像集#013のサムネイル/次世代ゲーム機のグラフィックスはどうなる? CEDEC 2012 ゲーム開発マニアックス〜グラフィックス編
 一方,Deferred系の欠点は次世代ゲーム機では問題にならなくなると見るのが高部氏だ。例えば,Deferred系はMSAA(マルチサンプルアンチエイリアシング)と相性が悪いが「アンチエリアシングにも,いろんな手法が出ていて,最近はポストフィルタを使うアンチエリアシングがはやっている。だからMSAAと相性が悪いというのは大きな問題にならなくなるのでは」という考えを示した。また,次世代ゲーム機ではメモリも多く搭載されるはずだから,メモリを食うというDeferred系の問題も解決されるだろうと見解を述べた。

 ただ,最後にはどちらか一方に絞る必要もないのでは,という意見がパネリストの間で一致した見解になった。

 例えば,石田氏はDeferredの弱点とされる半透明の表現を挙げ「Deferred系では半透明の処理が問題としてついて回る。半透明(のオブジェクト)はForwardにして,ハイブリッドで描画という考え方はあるだろう」とハイブリッドを提案。

 また,竹重氏は,Forward+ではジオメトリレンダリングのパスが2回必要になるためテッセレータがボトルネックになる可能性があると指摘し「どちらが有利かは数字を出してみる必要があるが」としつつ「シーンによってどちらが“ハマる”かが決まるので,甲乙を決める必要はないのでは」という見方を示していた。


GI対決はSparse Voxel Octree‐Global Illuminationに軍配が上がる


 という具合にレンダリング手法を議論したうえで,続く議題として取り上げられたのがGIである。ゲーム向けのGIは多数の手法が提案され百花繚乱といった雰囲気があるが,今回のパネルディスカッションでは「Sparse Voxel Octree‐Global Illumination」(以下,SVOGI)と「Virtual Point Light」(以下,VPL)が取り上げられた。

多数のアルゴリズムが提案されているGIではSVOGIとVPLに焦点が当てられた
画像集#006のサムネイル/次世代ゲーム機のグラフィックスはどうなる? CEDEC 2012 ゲーム開発マニアックス〜グラフィックス編

 SVOGIについては,こちらの記事に詳しいので参照してほしい。

 一方,VPLというのは間接光も複数光源として処理してしまおうという技術で,先に挙げたAMDのLeoデモで提案された方法である。NVIDIAが提案したSVOGI,AMDが提案したVPLということで,NVIDIA vs. AMDという構図にもなったりするが,どちらも社内の研究グループが提案した技術で,例えばSVOGIがAMDのRadeon系では使えないと言うようなことはないので,その辺は押さえておいていただきたい(VPLではCompute Shaderが活用されているので,現行世代品ならCompute Shaderがやや高速なRadeonシリーズがちょっと有利かな,とかそういうことはあるが……)。

 西川氏はSVOGIとVPL,どちらが有望かと会場とパネリストに質問。結果はSVOGIが圧倒的な支持を得て,パネリストは全員がSVOGIを推すという結果になってしまった。

画像集#014のサムネイル/次世代ゲーム機のグラフィックスはどうなる? CEDEC 2012 ゲーム開発マニアックス〜グラフィックス編
 その理由を端的に指摘したのが竹重氏だ。SVOGIでは空間をボクセル分割するが「それでなにが嬉しいかというと,空間情報に対して早くアクセスできるというメリットがある。例えば,AIに何が見えているかを判定するのは動的にオブジェクトが飛び交っているようなシーンでは難しいが,その可視化判定をボクセル内でできたりする利点がある」(竹重氏)という。

 つまり,SVOGIではGIのためにボクセル分割するが,分割した結果をいろいろ応用できるという指摘である。例えば,AIに敵が見えているかを判定するのにもボクセルが使えるなど「いったんシーンをボクセル化するといろんな使い道がある」(竹重氏)のが大きな利点というわけだ。

 ほかのパネリストがSVOGIを推すのも,この応用が効くという部分が大きいようだ。例えば,岩崎氏は「(Luminous Studioでは)VPLを実装しているが,なぜSVOGIを推すかというと応用範囲が広いから。VPLはGIの計算という意味ではいいが,ほかの用途には使えない。SVOGIは応用範囲が広いので,仮にコストがかかってもいろんなものに使えるかな,という期待がある。個人的には高速化できれば(SVOGIは)面白いと思う」と期待を語る。

 また,石田氏が「SVOGIが(次世代ゲーム機で)実用になってもらわないと困る。今やってるので」とカプコンのゲームエンジンMT Frameworkの次のバージョンのGIをさりげなく明かす一幕もあった。

 そんな具合に支持を得るSVOGIだが,懸念もあると高部氏は指摘した。「ボクセル分割はどのくらいの空間までカバーできるのか? 例えばオープンワールドなフィールドや室内を行き来したら,SVOGIをどう使うか悩むと思う。まだ現時点でこれと決めるわけにはいかない」という。確かに,広大な空間ではボクセル分割が大きなボトルネックになる可能性がありそうだ。

画像集#022のサムネイル/次世代ゲーム機のグラフィックスはどうなる? CEDEC 2012 ゲーム開発マニアックス〜グラフィックス編
 その点について西川氏が,Unreal Engine 4(以下,UE4)にSVOGIを大々的に取り入れたEpic Games Japanの下田氏に問うと「UE4ではボクセルの解像度をコントロールできるので応用はできると思う。Epic Games社内では,UE4を使って広い空間のゲームも試している。UE4でゲームが出れば答えは出るだろう」と楽観的とも強気とも受け取れる見方を示していた。

 このように開発者はSVOGIに期待しているわけだが,VPLがダメというわけでは決してない。「VPLも別の新しい手法につなげる手段になる。将来的には新しいアルゴリズムが出てくるだろう」(高部氏)という意見や「VPLにも応用力はある,勉強した時間は必ず何かにつながる」(岩崎氏)という意見もあり,現時点ではSVOGIに人気が出ているが,発展中の技術だけに将来は読みづらいところもあると見ておいたほうがよさそうだ。


静的オブジェクトにテッセレーションは意味がない


 続く議題はテッセレーションである。DirectX 11で目玉になる機能だが,最近は問題点も指摘されるようになってきた。例えば,先のForward+で話題になったようにパスを2回以上回すようなレンダリングでは,テッセレータがボトルネックになりかねず逆に自由を奪うといったような点や,そもそも効果が目立たないなどという指摘もあったりする。

DirectX11の目玉だったテッセレーションだが限界も見えてきた
画像集#007のサムネイル/次世代ゲーム機のグラフィックスはどうなる? CEDEC 2012 ゲーム開発マニアックス〜グラフィックス編

 ロストプラネット2でいち早くテッセレーションを取り入れたカプコンの石田氏は「ロストプラネット2で検証したが,基本的に“丸くなる”というアドバンテージがどれだけプレイヤーに伝わるかが問題だと思う。ロスプラでは,丸くなったところをプレイヤーにじっくり見てもらわないと伝わらなかった。(その経験から)もしテッセレーションを使うなら,ディスプレースメントマッピングまでやらないと駄目だろう」と見解を述べた。

画像集#012のサムネイル/次世代ゲーム機のグラフィックスはどうなる? CEDEC 2012 ゲーム開発マニアックス〜グラフィックス編
 ただ,石田氏はテッセレーションに否定的というわけではない。「ロストプラネット2」ではポリゴン分割にPN-Trianglesを利用しているが,PixerがCatmull-Clark分割に関連する特許を公開したこともあり「次の(タイトルの)アセットはテッセレーション前提,またCatmull-Clark前提で考えている。一度ポリゴンベースで作ってしまうとあとから戻すのが大変なので前向きに検証している」とのことだ。

 ちなみに,Catmull-Clark分割に関連する特許が自由に使えるようになったことはゲームにも影響を与えそうだ。例えば,岩崎氏は「Catmull-Clark分割はアーティストのワークフローにフィットする」とその利点を強調。Catmull-Clark分割はMayaなど既存のツールで長く利用されてきたためだろう。特許の関係で使いづらいところもあったが,一気に利用が増えそうな予感だ。

 ただ,岩崎氏はテッセレータのパフォーマンスの問題を指摘。「もっと速くならなければ(積極的には)使いづらい」と語り,Luminous Studioではデザイナーがハイメッシュを作成しているところが多いという。
 要は使いどころで「例えば髪の毛は面白い。ごく少数のコントロールポイントをもとにカーブを作ってテッセレーションで思いっきり(ポリゴンを)増やすんです。(同じように)クロース(布)には(テッセレーションが)いいと思う」(岩崎氏)。

 この意見には,DirectX 11世代のGPUを積極的に推すNVIDIAの竹重氏も同意し,さらに「静的なオブジェクトにテッセレーションを使うのは理にかなってない」と指摘していた。
 「静的なオブジェクトは,デザイナーがハイメッシュにしたほうが有効だし,現実的だと思う。現在のGPUはプリミティブの処理速度が上がっているので,大量の頂点を処理でき,先に相当にポリゴンを分割していてもテッセレーションより速い」とのこと。

 というわけで,次世代ゲーム機にはテッセレータが載るかもしれないが,利点がある用途に限って使われると見るのがよさそうだ。


次世代ゲーム機ではCELL(SPU)からGPGPUへ


 さて,最後の議題はGPGPUである。PlayStation 3ではCell Broadband Engine(以下,Cell) のSPUをインゲームのロジックなどを含めて計算資源として活用してきたが,次世代Cellが登場する可能性はほとんどなくなってきた。となれば,次世代ゲーム機でSPUに代わる計算資源として使われるのはGPUが最有力ということになる。

次世代機ではGPGPUが使われるのだろうか?
画像集#008のサムネイル/次世代ゲーム機のグラフィックスはどうなる? CEDEC 2012 ゲーム開発マニアックス〜グラフィックス編

 とはいえ,GPGPUにもいろいろ問題はある。西川氏はかねてから,ゲームでGPGPUが使われるかという点に対しては懐疑的で,例えばグラフィックスのレンダリングとGPGPUを並列で走らせられない(コンテキストスイッチをサポートしない)といった問題を指摘していたりするが,そのあたりはスライドを参照してほしい。

 ただ,SPUがないのならGPGPUしかないだろうと語るのが高部氏だ。「GPGPUをゲームロジックに絡めていくのは,ソニーのSPUをゲームロジックで使うより高度になる。GPUは自由がきかないので(取り組む)閾値は高い。しかし,どんどん着手していかないといけない。チャレンジすべきだろうと思っている」(高部氏)という立場を表明。

 一方,石田氏はメモリ空間の問題を指摘した。「GPGPUの問題は,CPUとGPUが異なるメモリ空間にあり,GPUの計算結果がCPU側で使えない点だ。そこが解決すれば使われるようになるだろう」とのこと。補足しておくと,CPU側で使えないわけではなく,メモリ空間が別なのでデータを転送する必要があって使いづらいということになる。

 AMDが次世代APUのHSA(Heterogeneous System Architecture)で計画しているように,次世代ゲーム機でGPUとCPUのメモリ空間が単一になれば,この問題は解決するだろう。また,GPUのプログラミング環境は改善するという期待もあり「AMDのHSAではCPU側も似たような感じで組めるようになるので期待している」(岩崎氏)という意見もあった。

 HSAは,AMDが提唱するGPUとCPUの新しいプログラミングモデルで,GPUとCPUが同一のメモリ空間を共有するようにして,CPUとGPUをほぼ同じコードでプログラミングできるようにしようというものだ。

 このHSAのような動きをNVIDIAがどう見ているかは筆者も以前から気になっている部分だったが,竹重氏はゲームプログラマがGPGPUに対して“取り組みづらい”と考えていることに理解を示していたのが興味深かった。

 「NVIDIAのCUDAは,GPUを最大限に活かせるAPIになっているが,それがゲームプログラマに受け入れがたいというのは,よく分かる。GPUのレイテンシやメモリ空間がゲームで利用する際に既存の大きな問題として立ちはだかっていることは,GPUメーカーとしてよく理解している。ただ,レイテンシはWindowsの問題だ。次世代家庭用ゲーム機は(Windowsとは違い)ドライバが薄いので問題はないだろうと思う」と竹重氏は語っていた。

 ならば,NVIDIAがHSAのようなソリューションを将来的に持つ可能性はあるのか,といったあたりは,さすがにこのパネルディスカッションで語れるような内容ではないだろう。ただ,NVIDIAもTegraシリーズではGPUとCPUが同じメモリ空間を共有しており,将来的にはHSAのようなソリューションか,あるいはHSAを取り入れるといったような意外な展開もあり得るのかなとは思う。次世代ゲーム機ではCPUとGPUのメモリがどうなるのか,といったことも含めて,このGPGPUの問題は一つの注目点にはなるだろう。
  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:04月18日〜04月19日