【レポート】

ジオメトリシェーダをひも解く、Vistaで到来するDirectX 10時代

10 ジオメトリシェーダの将来性は?

    西川善司  [2007/02/18]

    これまで、新しいDirectXが出てくるたびにさまざまな機能が鳴り物入りで紹介されてきたが、その機能が2大GPUメーカーのATIとNVIDIAの片方でしかサポートされなかったりして、結局主流になりきれず「盲腸機能」となってしまうことも少なくはなかった。

    ジオメトリシェーダは大丈夫なのだろうか。

    これについての心配はDirectX 10ではなさそうだ。

    今世代では「ATI、NVIDIAのどっちかでしかサポートされない」ということがあり得ないからだ。

    というのも、DirectX 10(Direct3D10)では、「どの機能がサポートされているか、されていないか」を調べるCapability Bits Test (Caps)の仕組みが廃止され、「DirectX 10の機能は全て動作できるようにすること」という大原則が定められたからだ。

    Direct3D10ではCpasの仕組みがなくなった。全てのDirectX 10 / SM4.0対応GPUは全機能を「動作できなくてはいけない」

    だから、DirectX 10対応SM4.0世代のGPUは全てジオメトリシェーダをサポートする。

    もちろん、「動作する」ことと「パフォーマンスが高い」こととは別問題で、ハイエンドGPUとローエンドGPUとでは、ジオメトリシェーダが搭載されていても、そのパフォーマンスの格差はあるはずだ。

    それでは、開発の現場としてジオメトリシェーダはどう受け止められているのだろうか。

    これについても、Game Developers Conference 2006やSIGGRAPH 2006で筆者が取材した限りでは、比較的歓迎ムードという手応えを得ている。ただし、2つのジオメトリシェーダ活用様式のうち、前者の「アクセラレーション的活用」に賛同する開発者が多かったように思える

    今世代の新世代ゲーム機であるPLAYSTATION 3(以下、PS3)、Xbox 360がDirectX 9 / SM3.0世代であり、大手ゲームパブリッシャのほとんどが同一タイトルをPS3、Xbox 360、PCの3プラットフォームでリリースすることを表明していることまでも考慮すると、確かにPC版だけ突出した設計とするのは得策ではないという思考は働く。Unreal Engine3.0をはじめとするマルチプラットフォーム展開されているメジャーなゲームエンジン、ミドルウェアも今のところはDirectX 9 / SM3.0ベースだ。Windows XPユーザーも、サポート延長のニュース報道もあって、ここしばらくはメインストリームであり続ける気配も強まってきている。Windows Vista / DirectX 10が登場してはくるが、当面は「DirectX 9→10の移行期」としての時代が続くと思われる。

    こうした状況を考えると、基本的なグラフィックスエンジンの設計はDirectX 9 / SM3.0ベースとし、そこからのアクセラレーションを図るためにDirectX 10 / SM4.0 / ジオメトリシェーダを活用する……というアプローチが主流になるのではないだろうか。

    まとめると、

    • ATIとNVIDIAといった2大GPUメーカーの双方がサポートするので盲腸機能になる可能性は低い。
    • ただし、すぐさまジオメトリシェーダが必要になる状況にはならない
    • ここしばらくは「ジオメトリシェーダがあればアクセラレーションされる」という形での活用が主流になる

    こんな感じになるだろうか。

    関連記事

    関連サイト

    新着記事

    特設サイトの情報

      人気記事

      一覧

      新着記事

      特別企画

      マイナビニュースマガジン