[GDC06#15]Windows VistaとDirectX 10で始まるPCゲーム新時代
MicrosoftのD3D10プログラミングマネージャ,Sam Glassenburg(サム・グラッセンバーグ)氏が,DirectX 10の概要を説明した
![](/news/image/2006.03/20060327230253_0.jpg) |
■Windows Vistaは2007年1月にずれ込み
グラフィックスの進化が大好きなコアゲーマーにとっては,OSやDirectXがどのような進化を遂げるのかは気になるところ。Windows Vistaのリリースが2007年にずれ込むことが確実となり,年末のセールスを当て込んでいたPCメーカーにとっては大きな痛手となりそうだが,DirectX 10は,Windows Vistaに合わせた新しいドライバモデルで設計されており,Windows XPでは動作しない,「Windows Vista専用」となることが分かっている。 Windows Vistaは,既報のように複数のバージョンがリリースされる予定で,一般用には「Vista Starter Edition」「Vista Home Basic Edition」「Vista Home Premium Edition」,そして「Vista Ultimate Edition」の4種類が市場に出される。このうち,ゲーム用の機能が揃っているのは,Home Basic,Home Premium,そしてUltimateの3種類のようだ。 まだ最終的に確定されているわけではないが,最低でも10GBのハードディスク容量が必要で,インタフェースでαブレンディングを多用しているために,ゲームで遊ぶためには,グラフィックスカードで256MBのDDR3メモリ,そしてメインメモリで2GBが要求されそうな気配である。
エキスポ会場には,Windows Vistaの現バージョンも展示されており,ゲーム用新機能Game Explorerもフル稼働していた
![](/news/image/2006.03/20060327230253_12.jpg) |
■DirectX 10は,Capability Bitsを排除してGPUに対する混乱を軽減
DirectX 10はWindows Vista専用ではあるが,古いバージョンのDirectXもサポートされており,DirectX 9.LというVista専用のDirectX 9が用意されている。 この逆に,Windows XP用のDirectX 10はリリースされる見込みがないので,いずれゲームソフトがDirectX 10に移行していく中で,OSごとPCを買い替えなければならない時期が来るだろう。
DirectX 10でも,開発者の間で評価の高い特徴の一つが,Capability Bits(Caps/許可ビット)の排除である。現在のDirectX 9.xの仕様では,DirectXで定義された機能をすべてサポートしなくても,“DirectX用グラフィックスカード”として認識されていた。ほかにもさまざまなオプションがあるために,ドライバーはOSに何ができるかできないかを逐一チェックする必要があったのだ。 グラフィックスカードのブランドによって違った機能をサポートしているので,このCapability Bitsはソフトウェア開発者にとっては好ましいものではなかった。 DirectX 10では,個別の機能の有無ではなく,グラフィックスチップが新たな規準に沿って設計されるかどうかだけが問題となり,ソフトウェアを個別の機能やフォーマットに対応させる必要がなくなったというわけだ。理想としては,ソフトウェア開発者が,ATIとNVIDIAのグラフィックスチップのために別個に最適化する煩わしさがなくなり,DirectX APIに準じたプログラムをすれば,ブランドにかかわらず同じ結果を得られることになるはず。グラフィックスカードは機能よりも性能が重視され,ソフトウェア開発者だけでなく,消費者の混乱も少なくなるだろう。
■新しいシェーダ機能
Direct 3D 10(D3D10)では,プログラミングモデルを進化させ,インプットアセンブラ(Input Assembler),ジオメトリシェーダ(Geometry Shader),そしてストリームアウト(Stream Out)の三つパイプラインが新しく加わった。Virtex ShaderとPixel Shaderを統合したShader Model 4.0(SM4.0)へとプログラマブルシェーダは変化を遂げ,これにジオメトリシェーダを加えて,すべてユニファイドシェーダモデルが与えられたのだ(ユニファイドでないモデルも可能なようだが)。 このユニファイドシェーダの恩恵は凄まじく,ハードウェア開発者はボトルネックの軽減を目的に,シェーダユニットを瞬時に移動処理させられるので,パフォーマンスのスケーリングやチューニングが可能となる。同時にアクセスできるレジスタは512個,テクスチャも128枚と大幅に増え,フルな整数/ビット単位のインストラクションセットを確保した。 ジオメトリシェーダは,すべてのプリミティブ(Primitives)を入力して平面方程式を演算し,最大で1024個の頂点を出力する。これにより,影を生成する際のステンシルボリュームシャドウ(Stencil Volume Shadow)やノーマルマッピング(Normal Mapping)からテクスチャの情報を読み出して,さらに凹凸感のあるディスプレイスメントマッピング(Displacement Mapping)へと発展させることも可能だ。
Displacement Mapping技法を駆使した,単なるきめ細かなテクスチャ技術以上の表現もDirectX 10に実装されている
![](/news/image/2006.03/20060327230253_24.jpg) |
![](/news/image/2006.03/20060327230253_23.jpg) |
|
DirectX 10は,CPUの使用頻度を減らす代わりに,GPUのフレキシブルなパワーに,これまで以上に依存する形となり,ゲームソフトの開発者にとってはAPIのスタンダード化の強化で負担が少なくなる。 現在,Windows Vista専用,もしくはDirectX 10の能力を引き出すソフトとしては,Microsoftの「Flight Simulator X」と「Halo 2」,そしてCryTekの「Crysis」などほんの一握りのゲームしか公表されていない。すぐにVista(DirectX 10)を調達するべきなのかの判断は難しいところだが,DirectX 9もオプティマイズされて高速化が図られるということもあり,5月に行われるE3(Electronic Entertainment Expo)では,より多くの対応ソフトの発表が行われることは十分に予想できる。Xbox 360やプレイステーション3にも劣らないPCゲームの新時代は,2007年1月に始まることとなりそうだ。(奥谷海人)
|
|
|