AMDは,「ATI Radeon HD 4800」シリーズの発表に当たって,その機能とパフォーマンスを生かした新しいテクノロジーデモ「Froblins」(フロブリンズ)を用意した。下に示したのが,そのデモムービーだ。
Froblinというのは,デモに登場するカエル型キャラクターのことで,3000匹ものFroblin達は,石を寺院に運ぶ仕事に従事している。
このデモでは,
DirectX 10.1を生かしたグローバルイルミネーションやダイレクトライティング
4x MSAA(Multiple Sampled Anti-Aliasing:マルチサンプルアンチエイリアシング)
HDRライティング
HD解像度によるレンダリング
テッセレーション
といった,ATI Radeon HD 4800シリーズならではの技術を採用。さらに,ユーザーの視点から近いキャラクターのみを,より高品位なディテールで描画するLOD(Level of Detail)技術や,より現実的な地形描画を3Dグラフィックスにもたらす地形処理技術「Terrainシステム」など,最新のグラフィックス技術もふんだんに利用されている。
Froblinsで採用される最新グラフィックス技術
DirectX 10.1では,頂点シェーダ(Vertex Shader)への入出力が,従来比2倍となる128bit×32個(※DirectX 10では128bit×16個)へ拡張され,より複雑な処理が可能になった。その一方,4x MSAAの適用が最低条件となり,描画負荷は確実に高まっている。
そこでFroblinsでは,LODにより,ユーザー(=プレイヤー)の視点に近いキャラクターや地形などを多ポリゴンで表現し,遠くのキャタクターなどはポリゴン数を減らして描画することで負荷の軽減を図った。
Froblinsのデモでは,キャラクターを160万/6000/900ポリゴンの3レベルで切り替えて描画する。下の直撮りムービーはLODのデモで,視点から見たキャラクターの位置(≒距離)によって,ポリゴン数がダイナミックに制御されているのが見て取れよう。
「1フレーム当たり最大1800万トライアングルの描画でも常に20fps以上のフレームレートを維持し,すべてのオブジェクトに複数のシャドウマップを適用しても,3000匹のFroblins達を平均22fpsで動かせる。」
AMDは,800ストリームプロセッサを持つATI Radeon HD 4800シリーズのパフォーマンスをそうアピールする。
また,Froblinsデモでは,Terrainシステムと呼ばれる地形処理でも,このLOD技術とテッセレーションを組み合わせることで,複雑な地形表現と描画負荷の低減を両立させている。
グローバルイルミネーションとポストプロセッシングによる光源処理も見物だ。例えば,光源を背にしたキャラクターが画面の最も手前にいる場合,その手前には光を反射するオブジェクトがないため,普通に処理するとキャラクターが真っ暗に見えてしまう。そこで本デモでは,(ポストプロセスで)ガンマ補正をかけることで,人間の視覚に近い明るさに調整することも可能になっている。
AMDは,この“ポストプロセス処理を組み合わせたグローバルイルミネーション”を,特別に「Advanced Global Illumination System」と呼んで区別している。Froblinsでは,1ピクセル当たり260命令を活用し,自然な光源処理を実現しているという。
GPUによるAI処理が変える次世代PCゲーム
さて,Froblinsの最大の特徴であるAI制御については,「キャラクターそのもの」と「集団」の2段階で処理されている。Froblin達は互いにぶつからないよう進路を決めたり,働いたり,食事を摂ったり,休んだりといった行動を自分で決断するようにプログラムされている。また,デモでは,任意にFroblins達の敵となるゴーストを出現させられるのだが,ゴーストが現れた場合,Froblin達はゴーストから逃げるため,集団で進路を決めていく。その様子は下のムービーで示したとおりだ。少々見づらいが,地表に見える無数の矢印がFroblin達の進行方向になる。ゴーストの動きに合わせて矢印の向きがダイナミックに変化している点に注目してほしい。
デモにおける行動パターンは単純そのものだが,Froblinsのように3000体ものキャラクターを制御する必要がなければ,さらに多くのパターンを実装できるはずだ。
Froblinsのデモでは,キャラクターごとに3200命令がAI処理に使われている。そのため,北米で開催されたATI Radeon HD 4800シリーズの技術説明会で実施されたFroblinsのデモでは,ATI Radeon HD 4870を2枚構成にし,一方をグラフィックス表現,もう一方をAI機能に振り当てることでFroblin達のダイナミックな制御を可能にした。同デモの解説を担当したAMDのNatalya Tatarchuk氏は,「現在のゲームにおいては,プレイヤー以外のキャラクターの動きが単調で,ゲームの楽しさを削いでしまうケースも少なくない。しかし,Froblinsで用いられるAI機能がゲームにもたらされれば,楽しさもよりいっそう膨らむはずだ」として,GPU処理能力をAIに活かしたゲーム開発の有効性を説く。
Froblinsのデモは,「プレイヤー以外のキャラクターを制御するため,CPUに頻繁にアクセスしなければならないのなら,ある程度のAI制御はGPU側でまかなってしまおう」というスタンスに見える。これは,GPU側で物理演算処理も行い,CPU側に緻密なAI制御を行なわせようとするNVIDIAとは逆のアプローチともいえるわけだ。2008年6月25日の記事でお伝えしているように,AMDはHavokの物理アクセラレーションを,まずCPU向けに最適化する方向で動いており,ゲーム物理はCPU側で処理されることになるからである。
CPUを持つAMDと,物理演算処理エンジンを持つNVIDIAが,自社の土俵でGPUの並列処理性をアピールすることは自然な流れ。あとは,ゲームデベロッパがどちらの手法を取り入れるかによって,次世代ゲームの流れは決まるといっていいだろう。
http://www.4gamer.net/games/045/G004578/20080627028/