DirectX9リアル対応3Dゲームが出てこない理由(その1)(1/3 ページ)

» 2004年02月12日 17時33分 公開
[トライゼット西川善司,ITmedia]

身近になったDirectX9/プログラマブルシェーダ2.0対応GPUだが……

 2002年秋にATIがDirect X 9プログラマブルシェーダ2.0アーキテクチャ対応GPUの第1号としてRADEON 9700を登場させた。続いて2002年冬にはNVIDIAが二番手としてGeForce FX 5800を発表。明けて2003年のGPU界は"Direct X 9"と"プログラマブルシェーダ2.0"の二大キーワードに牽引されて動き出す。

 2003年春にはNVIDIAがローエンドクラスGPUにこの二大キーワードをサポートしたGeForce FX 5200シリーズを投入。その影響もあってか、ATIのメインストリームクラスのRADEON 9600シリーズの実売価格も下がっていった結果、2003年末には「Direct X 9」「プログラマブルシェーダ2.0」が一般ユーザーにとっても非常に身近な存在となった。

 さらに、2003年末には、S3 GraphicsのDeltaChrome、そして、XGIのVolariというGPU新興勢力までもが、Direct X 9プログラマブルシェーダ2.0対応のGPUを投入する。

 デスクトップPC代替ノートPC(いわゆるデスクノートPC)においても、MOBLITY RADEON 9600やGeForce FX Go 5600を搭載したモデルが続々登場し、ノートPCでもDirect X 9対応が当たり前という状況に至っている。

 GPU(とそれを搭載したビデオカード)というハードウェアに着目した場合、もはや完全に「Direct X 9」「プログラマブルシェーダ2.0」への世代交代を完了した……という印象を持ったユーザーも多いのではないだろうか。

 しかし、Direct X 9の機能(もっと絞り込んで言えば、Direct X 9版のDirect3Dの機能)とプログラマブルシェーダ2.0をフルに使いこなした肝心の3Dゲームやアプリケーションが登場してきていない。

 これはなぜなのだろうか。

 一般ユーザーにはあまり知られていないが、実は一口に「Direct X 9対応ビデオカード」「プログラマブルシェーダ2.0対応GPU」といっても、根幹的な互換性の部分で、仕様の統一が取れていない。

 では、その「非互換部分」とはなんなのか。それは以下の二つがある。

ATIのRADEON 9700 PRO。ATIの第一世代Direct X 9プログラマブルシェーダ2.0対応GPUである
NVIDIAのGeForce FX 5800 Ultra。こちらもNVIDIAの第一世代Direct X 9プログラマブルシェーダ2.0対応GPUだ

その「非互換部分」とはなにか?

 一つは、各GPUがサポートするテクスチャフォーマットの相違にある。

 え? と思う読者も多いだろう。「テクスチャとはポリゴンに貼り付ける画像」……このようにPC雑誌にたたき込まれてきたと思う。その「テクスチャ」だ。

 テクスチャ→画像、と連想していくと、一般ユーザーの多くが16ビットカラー(65536色)とか32(24)ビットカラー(1677万色)といったフォーマットを思い浮かべるだろう。ところが、Direct X 9では、新たに多種多様なテクスチャフォーマットが規定されたのだ。この新たに規定されたテクスチャフォーマットへの対応度がATIもNVIDIAもS3もXGIもバラバラであるのが「非互換部分」が発生する要因となっている。

 しかも、この新しいテクスチャフォーマットはプログラマブル「ピクセル」シェーダ2.0を活用する上で非常に重要な役割を果たすだけでなく、シェーダの設計そのものに密接な関わりを持つ。

 極論を言えば、プログラマブルピクセルシェーダ2.0ベースのシェーダ設計方針は、テクスチャフォーマットに左右されるといってもいい。逆に言えば、開発者はテクスチャフォーマットの対応度が各GPUでバラバラであるために、すべてのDirect X 9対応GPUで動作するプログラマブルピクセルシェーダ2.0ベースのシェーダを書くことが出来ない……ともいえるだろうか。

 このことが、開発者にとってどういうことを意味するのか。順を追って解説しよう。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

アクセストップ10

2024年04月19日 更新
最新トピックスPR

過去記事カレンダー