【レポート】

SIGGRAPH 2006 - SIGGRAPH 2006が開幕、まずは気になる"DirectX10"の話題

5 シェーダーモデルは4.0へ

    西川善司  [2006/08/01]

    Direct3D10世代のプログラマブルシェーダは4.0となる

    Direct3D10では、長年開発者を悩ませてきた「Capsの仕組み」が廃止される。Caps(Capability Bits Tests)とは、そのGPUがどんな機能を持っているかを調べる仕組みであるが、現在ではGPUの種類が増えたことで収拾がつかなくなっている。

    これは冒頭で「GPUの種類やバージョンの違い(シェーダーモデルの違いや機能格差)が多くなりすぎて、開発ターゲットのハードウェアを絞りにくくなってきている」という問題点に大きく関係している部分なのだが、このCapsの仕組みが廃止されることにより、Direct3D10世代のGPUでは、Direct3D10の機能仕様に含まれる全機能に必ず対応していなければ「Direct3D10対応GPU」を名乗れないことになったのだ。

    もちろん、Direct3D10世代のGPUでもエントリクラスからハイエンドまでの製品がラインナップされるわけなのだが、このCapsの廃止は、実質的には、その製品間の"格差"は、機能差ではなく性能差で与えなければならない、と規定したことと等価だといえる。例えばだが、Direct3D10の機能を活用して制作されたあるシェーダや、あるグラフィックス処理は、全てのDirect3D10世代GPUで動作しなければならないが、そのパフォーマンスはローエンドとハイエンドで異なることは許されるということだ。全てのメーカー製のGPUが、機能的には格差が無くなるということであり、アプリケーション開発者は、メーカー間の互換性や製品クラス間の互換性を気にすることなく、積極的にGPUを活用したソフトウェアを制作しやすくなるのだ。

    そしてDirect3D10世代のGPUでは、プログラマブルシェーダのバージョンも4.0へとアップグレードされる(SM4.0:Shader Model4.0)。

    SM4.0では、頂点シェーダ、ジオメトリシェーダ、ピクセルシェーダの命令セットが共通化され、シェーダプログラムの一般化が行いやすくなる。なお、この仕組みは「コモンシェーダ:Common Shader」アーキテクチャと命名されている。

    各シェーダリソースを臨機応変に頂点、ジオメトリ、ピクセルの3種類のシェーダに動的に振り分けられる仕組みを「統合型シェーダ:Unified Shader」アーキテクチャと呼び、この「コモンシェーダ」と混同しやすいが、コモンシェーダはプログラミングモデルレベルでの話であり、「統合型シェーダ」は、GPUのハードウェア実装形態を指す用語で、意味が多少異なる点に注意したい。

    さて、SM4.0では、整数演算、ビット操作を含む二進論理演算などのCPU並の命令セットが供給されることで、プログラマビリティがSM3.0からさらに向上する。また、構造化プログラミングに欠かせない、条件分岐のSwitchやサブルーチンコールまでもがサポートされて、実行命令数も(オフィシャルに)無制限となる。GPUでグラフィックス処理以外のこと(エンコード & デコード、データ解析、認識処理……etc,)を行わせるのは、もはや夢物語ではなくなってきたといっていいだろう。

    その他、SM4.0における細かい拡張点としては、SM3.0で16枚だった同時にアクセス可能なテクスチャ数もSM4.0では128枚へと増加、同時に複数バッファへレンダリングするマルチレンダーターゲット(MRT:Multi-Render Target)も4枚から8枚へと拡張された点などが挙げられる。3Dゲーム開発者から切望の声が多かった整数ベースのHDRレンダリングに最適なRGBEフォーマット(EはRGBに共通使用される指数項)のバッファのサポートや、これまでATI独自仕様であった法線マップの圧縮に適していた3Dc相当の2要素ベクトルテクスチャの圧縮メソッド、HDRテクスチャの圧縮に応用可能な1要素ベクトルテクスチャの圧縮メソッドもSM4.0標準仕様として盛り込まれ、SM3.0に残っていた不満点が大部改善される形で拡張されている。

    Direct3D10世代GPUのプログラマブルシェーダは4.0となる

    SM4.0の新フィーチャーをスクロール表示したスライド。「時間が足りなくて説明しきれない」とBlythe氏

    Direct3D10世代GPUは登場間近か

    さて、気になるDirect3D10世代のGPUの登場だが、マイクロソフトは「未定」としているものの、多方面からの情報を総合すると、公式な製品リリースは民生版Windows Vistaの発売日として予定されている2007年の1月頃と見られている。

    ただ、今回のSIGGRAPHで、とあるGPUメーカーがDirect3D10世代のGPUを先行発表するかもしれないという情報も聞こえてきており、市場投入はともかく、発表だけはSIGGRAPH会期中に行われる可能性もある。何かあれば追ってレポートしたいと思う。

    (トライゼット西川善司)

    関連記事

    関連サイト

    新着記事

    特設サイトの情報

      人気記事

      一覧

      イチオシ記事

      新着記事

      特別企画

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