Game Developers Conferenceレポート

Microsoft DirectX Day開催、次世代ゲームグラフィックスの姿とは?

会期:3月19日〜3月23日 (現地時間)

開催地:San Jose McEnery Convention Centerなど

Microsoft DirectX Dayのシンボルマークがスライドで大きく映し出された
 米国カリフォルニア州サンノゼにて現地時間の19日から24日まで開催中のGame Developers Conferenceにおいて、Microsoft DirectX Day(以下MSDXDay)のセッションが設けられた。

 MSDXDayは、プレス向けの情報開示というよりは、完全にゲーム開発者のための技術講習的な意味合いが強く、主催はMicrosoft、聴者はゲーム開発者が中心、壇上に上る講師もゲーム開発者であるため、まさに「開発者の、開発者による、開発者のためのカンファレンス」といったコンセプトになっている。具体的には以下の題目による講演が行なわれた。

  • Introduction
  • Volumetric Rendering and Lighting Effects
  • Surface Material Physics
  • Shader Optimizations for DirectX
  • Power Debugging with Visual C++7.0
  • Art Pipeline Support in DirectX
  • DirectX High Level Shading Language
  • Next Generation 3D Gaming Technology
 基本的には、PCゲーム開発者向けに新しい、レンダリングテクニックを提示する内容で、いくつか次世代ゲームグラフィックスの姿を彷彿させるビジュアルが見られたのでそうした情報を中心にMSDXDayの概要をお伝えする。


■空間的レンダリングとライティング効果〜幽霊や竜巻もお手の物に

 空間を表現するレンダリング技術に関するセッションでは、フォトリアリスティックなビジュアルを実現するための具体的なテクニックが提示された。

 まず、3Dグラフィックスは基本的に表示されているすべてのオブジェクトにフォーカスが合ってしまっているため、被写界深度の概念がない。これをプログラマブルシェーダを活用して実行しようという例が示された。これはフォーカスが合っているか合ってないかを数値化したアルファマップを用意し、これをもとにプログラマブルシェーダでフィルタリング処理をしていくことで実現する。

 具体的にはプログラマブルピクセルシェーダを用いてドット単位にアルファマップを参照し、フォーカスがあってないところはブラー処理を大きく行なってぼやけさせ、フォーカスがあっているところはブラー処理をあまりせずに普通のレンダリング結果が残る……という感じに処理される。

 3dfxのVoodoo5のようにレンダリングした各フレームをアルファ合成するのではなく、プログラマブルシェーダを活用しているのが現代的(もしくはDirectX8.x的?)だといえる。

被写界深度は最近にわかに採用され始めているテクニック アルファマップの方は解像度が低くても問題ないのでビデオメモリの節約も可能


 そしてドアの隙間から漏れる光や、霧の表現に役に立つと思われる、明確な立体的な形状を持つ半透明空間のレンダリングテクニックも示された。従来はこうした表現は半透明オブジェクトでごまかしていたのだが、「まやかし」なので3Dオブジェクトと交差した場合に、嘘が露呈する。今回示された例は、ジオメトリレベルで矛盾が出ない方法だった。

 直感的にはプログラマブルピクセルシェーダを用い、ドット単位にフォグ量を計算していくアプローチを取る。少々難しいので解説すると、Wバッファ(バックバッファ)にレンダリングしたいボリュームの最後面をレンダリングする。続いて、最前面を別のWバッファにレンダリングし、先のWバッファで引き算をしてやると、ドット単位ごとの、ボリューム量(霧の層の厚さ)が求められる。あとはこれを先ほどの被写界深度の例と同じようにアルファマップ(フォグマスクマップ)として参照してやり、ドット単位でプログラマブルピクセルシェーダでアルファ合成処理してやればよい。

 完全な3Dオブジェクトとして扱えるため、このボリュームにテクスチャを張ることも可能。デモンストレーションではノイズのテクスチャを張り、これをアニメーションさせることで、無数のパーティクル(粒子)が立体的な形状を形成しながら渦を巻くような表現が示された。これは竜巻などの表現、うごめく幽霊のような表現も膨大なパーティクルを使わずに比較的軽い処理で(ただしプログラマブルピクセルシェーダがあればだが)実現できることだろう。

本来霧の濃さというものは、視点から霧の層の厚さで決まってくるはず。左の図は霧の中にポットがあるのだが、ポットのジオメトリが考慮できず一様の濃さの霧になってしまっている。フォトリアリスティック時代においてこれはまずい これまでの3Dグラフィックスにおけるフォグというと一面にかかっている印象があったが、このテクニックを使うとある程度形を持ったフォグ表現ができる。光筋の表現にももちろん適用可能



■表面材質の物理〜ワックスがけされた車はどう光る?

 このセッションでは表面材質が変わったときに光の反射がどう変わるか、についての技術解説が行なわれた。

 基本的なライティング演算に関する話が行なわれたが、1つユニークなテクノロジが示された。ここでは、1つはオブジェクトの表面が複数の材質が重なって形成されていた場合のシミュレーションだ。たとえば、金属面にワックスを掛けた場合はどう光るのか、もっと具体的に言えばワックスがけされた車はどう光るのか……という議論だ。
 これについては、単純にライティング演算を組み合わせて演算していくだけでOKだという。たとえばワックスがけされた金属面という例については、金属面に対するスペキュラ、グロス演算処理を行ない、これに拡散反射を足し込むというような処理系を行なう。どちらにどの程度重みを置くかはまた材質によっても変わるのだがこうすることで、車のゲームで「車体表面が妙にテカテカ」しているあの「うそっぽさ」をかなり抑えられるという。

スペキュラはグロス処理と環境マップの合わせ技で表現。これでもそれほど変ではないが「いかにも」3Dゲーム的。よく見ると変にテカりすぎている気はする こちらは拡散反射のみ すべてをやればこんな感じ。ワックスがけされた車という感じ。コンピュータ画面内でワックスがけされた車が走る日も近いか



■DirectXにおけるシェーダの最適化など

命令の対応はこんな感じ。これだけ見るとたんに関数名に括弧が付いただけだが、前述のデバッガと併用するとかなり敷居は下げられたといえるのではないか
 「シェーダの最適化」の講義では、プログラマブルシェーダで記述したシェーダプログラムを10%でも最適化して縮められればそれはフレームレートの向上につながる……という話であった。

 「Visual C++7.0におけるシェーダーデバッギング」では非常に強力なプログラマブルシェーダデバッガのβ版が公開され、これまで数学的な知識と、物理的な理解がないとなかなか難しかったこのシェーダープログラミングを、カット&トライによるプロトタイピングが可能になることを明らかにした。その際に用いられるラスタライザはソフトウェアベースのリファレンスラスタライザで、1命令単位のステップ実行ができる。

 「DirectXにおけるシェーダー高級言語」という講義では、これまでアセンブラ(機械語)ライクな低級言語で記述していたプログラマブルシェーダを、C言語ライクな高級言語で記述しよう、という提案のセッションで実際に、その開発環境のβ版が公開された。

 「再起構造が使えない」、「ポインタ変数が使えない」という制限はあるものの、ほぼ完全なC言語スタイルの文法を採用しているのが特徴。ハードウェアごとに微妙に違うプログラマブルシェーダの違いを吸収する意味合いもあるようだ。これは、DirectX 8.1になってATI系とNVIDIA系でプログラマブルシェーダの仕様が分極化してしまったことへの対応の意味合いもあるのかもしれない。

□GDCのホームページ
http://www.gdconf.com/
□関連情報
【3月20日】ゲーム開発者向けのカンファレンス「Game Developers Conference」開幕
http://www.watch.impress.co.jp/game/docs/20020320/gdc01.htm

(2001年3月21日)

[Reported by トライゼット 西川善司]

I
最新ニュース
【6月8日】
最速タイムを叩き出し特製ビットチャージーを手に入れろ
Xbox「ラリースポーツ・チャレンジ」タイムアタック・バトル




【6月7日】
セガ、エイコー、システムサービス、タイトー
秋冬登場予定の新作プライズ内見会を開催


ピックアップ アーケード
「頭文字D Arcade Stage」 第6回
“超上級 八方ヶ原コース”を攻略

本日到着! DEMO & PATCH
雰囲気満点のフランス製アドベンチャー「Syberia」

日本クリエイト、ユーザーの意見を反映しパワーアップした「高校野球道2EX」

ジー・モード、GBで発売されたバイオSFホラーがiアプリに
「DT ローズ・オブ・ゲノム 〜榊拓馬編〜」


オーバーワークス、ふたりの誕生日をみんなで祝おう
「メル&マリア 名刺交換会」


カプコン、PS2用ガンシューティング「ガンサバイバー3 DINO CRISIS」のイベントを連発

マイクロソフトのXbox用対戦格闘「格闘超人」ムービー公開される

アトラス、人気タイトルが低価格で楽しめる! 「魔剣爻」、「アイシア」、「峠MAX2」

露Nival interactive、「Etherlords II」を正式アナウンス
最大16人参加によるチームバトルモードを搭載


【6月6日】
発表!! 「PlayStation Awards 2002」
GrandPrixは圧倒的強さで「FINAL FANTASY X」


気になるe-Toy遊んでレポート
ガンダムやザクの二足歩行が楽しめる低価格トイ
バンダイ「MICRO BOTS」シリーズ

日本ファルコム、「VM JAPAN」のデモムービーを公開
店頭用デモCDの内容、配布時期も決定


セガ、PS2「LE MANS 24 HOURS」特設ページを6月7日より開設
「GT FORCE」などが当たる「TEAM セガ」勝利予想や応援メッセージを募集


マイピック、「Tropico: Paradise Island」の日本語化を発表
「トロピコ プラス〜パラダイスアイランド〜」を8月22日に発売


セガ、PC版「サカつく」のコンバートツールを公開
メール対戦用のセーブデータを一発変換


コンパイル、やりこみ要素が詰め込まれたアクションRPG
WIN「ワンダー・ワンダー」のダウンロード販売を開始


テクモ、平和とパチンコ機「ほっかほか銭湯」を共同開発
実機とPS2版を7月下旬にリリース


本日到着! DEMO & PATCH
かわいらしいキャラが飛び跳ねる「アスガルド」プロモーションムービー

プレイステーション・ドットコム、PS2「FF XI」を数量限定で販売再開

CESA、ゲームソフトに年齢別レーティングを設定する独立機構「CERO」を設立

【6月5日】
西尾ゆきの海外ゲームレポート
思うがままに車を奪い、銃をぶっ放す
犯罪都市で生き抜くアクションゲーム
「Grand Theft Auto III」

インフォグラム ジャパン、新作ラインナップを発表
“ATARIブランド”を強力に推進


Sierra、「Empire Earth: The Art of Conquest」を発表
新時代「Space Age」で宇宙戦争を実現!


Project EGG、「EGGY」、「あかんべードラゴン」など
MSXタイトルのダウンロード販売を開始


ユークス、「エキサイティングプロレス」シリーズ累計出荷本数が600万本を突破

本日到着! DEMO & PATCH
猛烈に熱いコンバットシューティング「Operation Blockade」

今度は対戦「ふたりのファンタビジョン」
ムービーをSCEIホームページで公開


コナミネット、504i専用「パワプロサクセス」野手編の配信を開始

SCEI、「MEGA HITS!」シリーズに「Devil May Cry」、「みんなのGOLF3」などを追加

アイドス、科学者ジョージ達の幽霊退治を描く
PS2「ゴーストヴァイブレーション」、GBA「ゴーストトラップ」


GBA開発ツール「CodeWarrior for GAMEBOY ADVANCE」
この夏にはGCと連携した開発がより簡単に


【Watch記事検索】



ウォッチ編集部内GAME Watch担当 game-watch@impress.co.jp

Copyright (c) 2002 impress corporation All rights reserved.