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

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

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

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

LINEで4Gamerアカウントを登録
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2008/06/28 12:00

ニュース

西川善司連載 / 完全理解「3DMark Vantage」(3)Graphics Test

西川善司の3Dエクスタシー 完全理解「3DMark Vantage」(3)Graphics Test

 

 第1回第2回でグラフィックスエンジンの技術的な解説を終えたところで,今回は「3DMark Vantage」に用意された「Graphics Test」と,テスト設定オプション「Options」各項目について解説していこうと思う。
 Graphics Testには

  • Graphics Test 1: Jane Nash
  • Graphics Test 2: New Calico

 が用意されている。3DMark06では4シーンあったので,それと比べるとちょっと寂しくなってしまったが,3Dグラフィックスエンジンは第1〜2回で説明したものを共通で利用している。本稿に登場する“技術キーワード”の詳細はそちらを参照するような構成にした。単語レベルの疑問を感じたら,ぜひ第1回第2回を併せてチェックしてみてほしい。

 

 

Jane Nash〜GPUによる水面シミュレーションが目玉

 

 Jane Nashは,Tomb Raiderシリーズ然とした,「大きな屋内ステージで展開する三人称視点の3Dゲーム」を想定したテストシーンになっている。

 

image

追うほうも追われるほうもなんだかあまり本気が感じられない追跡シーン。追われているのがJane Nashと思われる

 登場人物はあまり多くないが,いずれのキャラクターも動的に内部ボーンが動き,これに合わせて表皮ポリゴンが引き伸ばされて頂点ブレンディングされる,スキニング処理が生じることになる。ちなみに,後述するNew Calicoにおいて,ボーンスキニングされるキャラクターは一体もない。
 テストの本質とは無関係だが,Jane Nashに登場するキャラクタのアニメーションは,最近の実際のゲームと比較すると,カクカクしたマペットみたいで,あまり人間ぽくない。Game Test系が半分に減ったことといい,開発元のFuturemarkにもいろいろと苦労があるようだ。

 

image

水面の波はGPUによる波動シミュレーションによって生成されている。水面の反射や屈折の表現も要注目

image

静止画では分かりにくいが,水面からの照り返しが水際の通路に投射されている。これが火線(Caustics)だ

 Jane Nashで最も目を引くのは水面の表現である。冒頭,戦闘員の乗った水上バイクが登場するが,これの描く航跡が新たな波を起こし,シーン中の水面に伝わっていくさまが描かれる。これは「GPUを用いた波動シミュレーションをテクスチャ上で行い,そのテクスチャを頂点シェーダから参照して水面上のポリゴンを摂動させる」ような実装になっている。

 水面のライティングはフレネル反射に配慮した屈折処理が行われており,周囲の情景の映り込みと水底の様子は,視線ベクトルの角度に応じて見え方が変化する。
 また,静止画では分かりにくいが,水面からの照り返しである火線(Caustics)が水上近くの通路などに投射されているのも芸が細かい。もっとも,3DMark Vantageの火線はおそらく,ただのテクスチャアニメーションだろう。Crytekの「Crysis」では,太陽の方向と水面の波の状態に配慮して集光状態を計算し,火線をプロシージャル生成していたが,さすがにあれとは異なると思われる。

 

image

太ももに投射されているスカートのセルフシャドウもPCF付きカスケードシャドウマップ技法によるもの

 影生成技法は3DMark06から継承し,カスケードシャドウマップ(Cascaded Shadow Maps)に近傍フィルタ処理(Percent Closer Filtering)を組み合わせたものを採用。新搭載となるバリアンス・シャドウマップ(Variance Shadow Map,VSM)技法は,Jane Nashでは用いられていない。
 一方,シェーダ関係は,金属や衣服,人の肌など,異方性あるいは適応型の反射モデルを実装した負荷の高いプログラムが各種動いている。とくに,Jane Nashがアップになるシーンでは,そうした特殊シェーダが多用されていると見受けられる。

 

image

奥に行けば行くほど白っぽい色合いなのは深度フォグの効果

image

水陸両用機にかけられているカバーには布のシミュレーションが適用されており,機体が飛び出すと,カバーは機体の輪郭をなぞるように,ズルズルとした挙動を示す

 ポストプロセスは,演出上,あまり目立ってはいないが,HDR効果のブルームやフレアなど,第2回で紹介したものがちゃんと使われている。ただし,フォグは奥行き方向のデプスフォグ(Depth Fog)のみが使われており,立体的なフォグ(Volumetric Fog)はなし。

 Jane Nashが水陸両用機を発進させるシーンでは,カバーがずり落ちていくさまが描かれるが,このカバーはGPUを用いた布のシミュレーションを行い,その結果でカバーのポリゴンを摂動させている。
 水しぶきなどのパーティクル制御にもGPUベースの物理シミュレーションを適用しているが,こちらは衝突などを無視し,重力と空気抵抗などに配慮したベルレ積分で処理されたシンプルなもの。パーティクルシステムは,管理情報としては1頂点とし,ジオメトリシェーダを使ってスプライトに変換して表示する仕組みだ。そのため,水しぶきが多量発生するシーケンスは,ジオメトリシェーダの負荷テスト的な要素があるといえなくもない。

 

image

シークエンスの中盤以降に多発する水しぶきは,ジオメトリシェーダを使って表現されている

image

布ズレのシーンでは布に目が行きがちだが,よく見るとカバーから落ちる影の輪郭にはエイリアシング(=ジャギー)が

 

 

New Calico〜インスタンシングと視差遮蔽マッピングでGPUを苛める

 

 Futuremark Game Studioが開発中のFPS「Codename: Pwnage」。ゲームの舞台は,「New Calico」と名付けられた小惑星の周囲になるが,まさにその小惑星の名を冠したテストが,Game Test 2だ。小惑星の周囲ということで,宇宙空間が大きく描かれるシークエンスになる。

 

image

宇宙での戦闘シーンを描いたNew Calico。戦闘機はコナミのビックバイパーっぽいデザイン

 Jane Nashの項で軽く触れたように,New Calicoには,形状が固定されたメカしか登場しない。人間や動物といった,ボーンが変形するようなアクションキャラクターがいっさい登場しないので,当然のことながら,ボーンスキニングの仕組みは活用されない。
 その代わり……といってはなんだが,New Calicoでは,「同一形状の3Dモデルを大量表示する」仕組みが採用されている。

 同一形状の3Dモデルを大量表示する技法としては,DirectX 9のプログラマブルシェーダ3.0(Shader Model 3.0)で,ジオメトリインスタンシング(Geometry Instancing)が導入された。これは「3Dオブジェクトが同形状のとき,3Dモデルの形状情報などを先にGPU側に転送しておき,あとは座標,向き,テクスチャアドレスなどといった付帯情報を表示したい数だけ転送すれば,実際の描画プロセスを実行できる」という技術だ。従来は,描画するためのデータを,描画のたびにまるまるGPUへ転送していたのが,ジオメトリインスタンシングではこれが不要になるため,バス帯域幅の消費とレイテンシをいずれも低減できるというメリットがある。RTS(リアルタイムストラテジー)で大量のユニットを表示させたり,3D世界で植物など環境オブジェクトを反復的に描画させ(て,鬱蒼としたさまを表現し)たりするときに,効果を発揮する。
 いうまでもないことだが,DirectX 10でもジオメトリインスタンシングの仕組みは実装されており,New Calicoでは戦闘機と岩の表示にこの技術を使用している。

 

image
image

無数の戦闘機と岩が登場するNew Calico(左)。右は,GeForce 6時代に発表された,NVIDIAによるジオメトリインスタンシングのデモ。こちらも多量の戦闘機と岩を取り扱っていた。……偶然?

 

 また影生成に,3DMark Vantageで新採用となったVSM技法が利用されているのもトピックだ。VSM技法は,デプスシャドウ技法の弊害である,影輪郭のエイリアシング(=ジャギー)をソフトシャドウ的に柔らかくグラデーション描画してくれる特徴がある。テストシーンでは巨大な母艦の突起部のセルフシャドウや岩同士が落とす相互投射影,戦闘機の翼や凹凸部のセルフシャドウなどでその効果を見て取れよう。

 

image

岩の凹凸は視差遮蔽マッピングによるものか

 本テストシークエンスでユニークなのは,視差遮蔽マッピング(Parallax Occlusion Mapping)が利用されている点だ。視差遮蔽マッピングは,法線マップを活用したバンプマッピング,俗称「法線マッピング」を改良したもので,ジオメトリ上は存在しない凹凸に関し,その視線方向からや光源からの相互遮蔽にまで配慮して陰影処理を行う技術。法線マップだけからでは再現できない,「手前にある凸部でその後ろが隠れる,凸部の影がセルフシャドウとしてきちんと同じオブジェクトに落ちる」といった表現が可能になる。
 詳しくは「Feature Test」そのものの解説で触れるが,簡単に説明しておくと,視差遮蔽マッピングは,第2回で取り上げた立体的なフォグ(Volumetric Fog)の解説時に出てきた,局所的なレイトレーシング/レイキャスティング(Ray Tracing/Ray Casting)を用いることで実現しており,テクスチャユニットとピクセルシェーダへの負荷が高い処理となっている。視差遮蔽マッピングは,最近だとCrysisが岩肌や地面の凹凸に利用しており,ゲームの表現としても身近になりつつある。

 シーンとしては地味な印象を受けるNew Calicoだが,実のところ,GPU負荷はかなり高いのだ。

 

 

Test Options〜驚くほど細かなテスト設定

 

 3DMark Vantageには,3Dグラフィックスエンジンの描画設定を変更する「Test Options」(テストオプション)の機能が設けられている。

 

image

3DMark Vantageのグラフィックス(など)オプションを設定するTest Options

 

 テスト対象のシステムに合わせて,4種類の「Preset」(以下,プリセット)が設けられているのも,3DMark Vantageの特徴だ。プリセットの詳細は下のにまとめたとおりとなる。

 

image

※Entry,Performanceは想定される容量。一方,High,Extremeでは512MB以上が要求される

 

 ご覧のとおり,設定される項目は非常に豊富だが,さすがにこれだけ見て,何のことだか理解できる人は少ないだろう。順を追って説明していきたい。

 

Resolution(解像度)

 テスト解像度,もっといえば描画解像度を設定するオプションだ。数字は「横解像度×縦解像度」という見慣れた値の並びなのでとくに問題ないと思うが,その後ろに付記される(4:3)(16:10)(5:4)といった数値は画面アスペクト比(=画素数の横対縦比)を示している。
 プリセットとの関係は以下のとおり。

  • Entry:1024×768(4:3)
  • Performance:1280×1024(5:4)
  • High:1680×1050(16:10)
  • Extreme:1920×1200(16:10)
Multiple Sample Count(マルチサンプルアンチエイリアシング時のサンプル数)

 マルチサンプルアンチエイリアシング(Multiple Sampled Anti-Aliasing,以下MSAA)における,サブピクセルの深度処理点数を設定するもの。オプションメニュー上の表記は「Multisample Count」だ。処理点数を多くすると,ポリゴンエッジにおけるエイリアシング(=ジャギー)はより低減されるが,その分GPU負荷は高くなる。「Entry」と「Performance」プリセットの設定値である「1」は,事実上,MSAA処理なしを意味する。MSAA処理が有効になるのは「High」の「2」,「Performance」の「4」のみとなる点に注意したい。

 なお,MSAAの詳しいメカニズムについては,筆者の連載バックナンバー「『CrossFire』の秘密に迫る」で,「Super Anti-Aliasing」について解説したときに説明しているから,興味のある人はぜひ併せて参照してほしい。

 

image
image

左がMultiple Sample Count設定1,右が(Extremeプリセット時の)設定4。サムネイルで切り出した通路部分,角度の浅い斜め線に違いを見出せる

 

Texture Filtering(テクスチャフィルタリング)
Maximum Anisotropy(最大異方性)

 テクスチャフィルタリングとは,テクスチャからテクセルを読み出すときに周辺のテクセル値を読んだり,縮小したMIPMAPテクスチャの内容を参照したりして,高品位なテクセル取り出しを実現するテクノロジーのこと。テクスチャフィルタリングの詳しいメカニズムについては,筆者の連載バックナンバー「『テクスチャの異方性フィルタリング』ってなに?」を参照してもらえれば幸いだ。

 3DMark Vantageではテクスチャフィルタリングのメソッドとして「Anisotropy」(異方性)と「Optimal」(最適)を選択できるようになっており,言うまでもなく前者が,高品位な異方性フィルタリングを使用する設定になる。ドキュメントによると,「Optimal」はトライリニアフィルタリング(Tri-Linear Filtering)が選択される設定のようだ。なお,デフォルトではEntryとPerformanceプリセットでは「Optimal」(=トライリニア),HighとExtremeプリセットでは「Anisotropy」(異方性)のフィルタリングが選択される。

 同時に紹介するMax Anisotropy(メニュー上の表記は「Maximum Anisotropy」)は,異方性フィルタリング適用時に「視線とテクスチャを適用するポリゴンの位置関係に配慮した追加テクセル」の参照位置を何点取るかの設定だ。値を大きくしたほうが品質は高くなるものの,GPU負荷は大きくなる。なお,トライリニアフィルタリングが採択されるEntry&Performanceプリセットだと,本オプションは意味を持たない。

 

Loop Count(ループ回数)

 テストを何回繰り返すかの設定。グラフィックス描画品質とは何の関係もない。

 

Texture Quality(テクスチャ品質)

 テクスチャの解像度を設定するオプションで,選択肢はプリセットと同じ4項目。「各テストモードの画面解像度に必要十分であるとFuturemarkが設定したテクスチャ解像度セット」を選択できるという意味合いになる。低いプリセット(=低いレンダリング解像度設定)時に,テクスチャ解像度だけを上げてもあまり意味はない。

 

Shadow Shader Quality(影生成シェーダ品質)

 PCF付きカスケードシャドウマップ技法におけるPCF処理時,シャドウマップから何点サンプルするかの設定を行うもの。これも選択肢は数値ではなく,テストプリセットと同名の設定セット4パターンから選択するようになっている。サンプル数はEntryが一番少なく低品位,Extremeが一番多く高品位になる。

 

Shadow Resolution Quality(影解像度品質)

 PCF付きカスケードシャドウマップ技法とVSM技法に用いるシャドウマップの解像度を設定する。
 こちらも設定項目は数値になっておらず,プリセットと同名の4パターンから選択する仕組み。シャドウマップ解像度はEntryが一番低く,Extremeが一番高い。解像度が高いほど投射元の形状ディテールを残した影になり,解像度が低いほど大ざっぱな形の影になる。

 

image
image

影関連の設定を最低,テクスチャ品質も最低にしたのが左。右はExtremeプリセットの結果だ。左では,影生成のほとんどが省略され,看板のデカールテクスチャ品質も著しく低下しているのが分かる

 

Shader Quality(シェーダ品質)

 様々な特殊材質シェーダの活用を段階的に抑制するスイッチ。このオプションもテストモードと同名の設定セット4パターンから選択する仕組みになっている。ほとんどのシェーダを使用しないのがEntry設定,すべてのシェーダを実行させるのがExtreme設定だ。当然,Extreme設定が最も高品位だが負荷も最大となる。

 

image
image

左がEntry,右がExtreme。Entryでは岩壁の視差遮蔽マッピングがキャンセルされ,水面の情景の反射と屈折表現もキャンセルされてしまっている

 

Post-Processing Scale(ポストプロセス・スケール)

 3DMark Vantageにおけるポストプロセスに,縮小バッファ技法が広く活用されていることは前回解説したとおり。
 このポストプロセス・スケールに関するオプションは,縮小バッファ技法を実行するに当たって,縮小バッファの解像度を表示画面解像度の何分の1にするかを設定するものになる。

 設定値の範囲は1:2/3/4/5/6/7/8の7段階なっているが,最も高品位で高負荷なのが2分の1の意を表す「1:2」で,最も低品位で低負荷なのが8分の1の意になる「1:8」だ。

 

image
image

左が最低解像度になる1:8。右はExtreme設定の1:5。左の画面では光芒に若干のエイリアシングが出ており,歪形フレアとレンズ形状光輪も淡くなってしまっている。画面上部に変な緑の帯が出ているが,これがレンズフレアになるわけだ。こういうものだと,初見なら違和感はないかもしれない

 

Flush On Low Fps(タイムアウトの検出と回復エラーの回避)

 GPU処理能力が低いシステムで,高い負荷の設定を行うと,3DMark Vantageテストシークエンス中に,Windows Vistaが「GPUドライバがハングアップしている」と“勘違い”して,「タイムアウトの検出と回復エラー」(Timeout Detection and Recovery error,TDR)を出してしまうことがある(※参考:Microsoftによる日本語解説)。Flush On Low Fpsチェックボックスは,このエラーが発生するのを抑制するためのものである。

 

Post Processing(ポストプロセス無効化スイッチ)

 シリーズ第2回で3DMark Vantageに実装されているポストプロセスを解説したが,各ポストプロセスを個別に無効化できるスイッチが,Test Optionsメニューの右端に並ぶチェックボックス群になる。項目名に馴染みのないものがあったら,第2回の記事を参照してほしい。なお,トーンマッピング処理は,HDRのレンダーターゲットからディスプレイ表示可能なバッファに変換する必要がある都合上,無効化はできない。まあ,当たり前だ。

 

●Disable Bloom〜ブルーム効果を無効化する

image
image

左がブルームあり,右がなし

 

●Disable Streaks〜光芒効果を無効化する

●Disable Anamorphics Flare〜歪形フレアを無効化する

image
image

左が光芒と歪形フレアあり。右がなし。右では,太陽(?)がただの白いマルになってしまっているのが面白い

 

●Disable Lens Flare〜レンズフレアを無効化する

●Disable Lenticular Halo〜レンズ形状光輪を無効化する

image
image

左がレンズフレア,レンズ形状光輪あり,右がなし。光学現象を模したエフェクトがなくなるだけでシーンの奥行き感が失われることには驚かされる

 

●Disable Motion Blur〜モーションブラーを無効化する

image
image

左がモーションブラーあり,右がなし。サムネイルだと分かりにくいかもしれないが,拡大してもらえば,左の画像で奥から手前にかけてブレが大きくなっているのは一目瞭然だ

 

●Disable DOF〜被写界深度のシミュレーションを無効化する

image
image

左が被写界深度(Depth of Field)のシミュレーションあり,右がなし。左では,奥の2機と手前の1機がボケて見える。視聴者の視点を,ピントが合っている部分へ自然と誘う効果がある

 

●Disable Fog〜フォグを無効化する

 深度フォグ(Depth Fog)と立体的なフォグ(Volumetric Fog)の双方がキャンセルされる。

 

image
image

左がフォグあり。右がなしだ。フォグのあるほうが,奥行き方向に広がりがあるように見える

 

●Disable Color Noise

 ホワイトペーパーにも解説がなく,何の設定か不明。Futuremarkに問い合わせているのだが,2008年6月27日時点で回答は得られていない。

 

●Disable PPU〜PPUを無効化する

 なぜかポストプロセスと関係ないオプションがここに紛れ込んでいる。PPUは「Physics Processing Unit」の略で,具体的には,旧AGEIA Technologies(現NVIDIA)のPhysXアクセラレーションを無効化するもの。3DMark VantageのCPU Test 2ではPhysXライブラリが活用されているため,CPU Testスコアに影響するオプションとなる。

 

●Disable GPU Simulations〜GPUシミュレーションを無効化する

 GPUを使ったシミュレーションのすべてを省略する。注意したいのは,GPUシミュレーションを無効化しても,CPUが肩代わりはしないということ。そのため,GPUが行うはずだったシミュレーションは完全にキャンセルされる。例えばJane Nashのテストシーンだと,水面に波は立たなくなり,水陸両用機を覆うカバーも固まったまま,まったく動かなくなる。

 

image
image

左がGPUシミュレーションあり,右がなし。波の有無という決定的な違いとして現れる

 

image
image

左がGPUシミュレーションあり,右がなし。右の「なし」では船体がボディカバーを切り裂き,さらにリアウイングの天板部がボディカバーを突き破っている。これは船体とボディカバーの衝突が省略されてしまっているためだ

 

 

ベンチマークファンならAdvanced Editionが欲しいところ?

 

image

3DMark06の時の設定オプション(参考)

 3DMark06のオプションと比べると,3DMark Vantageはグラフィックスエンジンのチューニングオプションが非常に多い。下手なゲームソフトよりも充実している印象だ。もちろん,あまり変な設定にしても,算出されるスコアの意味がなくなるだけだが,GPUのボトルネックを確かめたり,あるいはグラフィックス効果の実際を視覚的に学ぶという意味では価値があるだろう。

 なお,テストオプションの変更や,Performance以外のテストプリセットを利用するためには,19.95ドルの3DMark Vantage Advanced Edition(あるいは商業利用向けに495ドルで販売されるProfessional Edition)が必要になる。ダウンロードしてインストールしただけの無料体験版やBasic Edition(6.95ドル)では,Performanceプリセットモード以外を実行できない点に注意が必要だ。ベンチマークテスト好きなら,最低限,Advanced Editionは手に入れておきたい……といったところだろうか。

 

(4)CPU Testの詳細とスコア計算方法 に続く

 

  • 関連タイトル:

    3DMark Vantage

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