Microsoftは今年の7月に開催したゲーム開発者向けイベント「GameFest」にて、DirectX 11の仕様を公開し、これがちょっとしたセンセーションを呼んだ。SIGGRAPH 2008のセッションでは、"GPUベンダ"であるNVIDIAが、DirectX 11の新機能の具体的な使用方法や、実際に新機能を活用したテクニカルデモを公開した。
今回のセッションで登壇、解説をしたNVIDIAのDeveloper Technology, Ignacio Castano氏 |
あまり大きくないカンファレンスルームに大勢が駆けつけ、立ち見が出るほどの盛況ぶりとなった |
DirectX 11では新たなプログラマブルシェーダが二つ新設、テッセレータは固定機能専用ロジックとして搭載
DirectX 11(Direct3D 11)世代の次世代GPUテクノロジーの具体的な活用法を示した今回のセッションは「Next-Generation Rendering of Subdivision Surfaces」と題され、NVIDIAのDeveloper Technology Ignacio Castano氏によって行われた。
NVIDIAとしては、このセッションは、あくまでDirectX 11世代のAPIの方向性の解説を行うもの、としていたが、実動デモがいくつも動作していることから、近未来的にDirectX 11世代のGPUのリリースがあるものと予測される。
結論から言うと、今回公開されたDirectX 11パイプラインベースのテクニカルデモは全てGeforce GTX 280上のエミュレータベースのものであったが、開発が進んでいることは間違いない。これまでかたくなに「DirectX 10.1は中途半端な世代。NVIDIAは今世代はDirectX 10に注力する」という姿勢を貫いてきたのは、DirectX 11の方にフォーカスしていたからなのだろう。
DirectX 11では、新たなプログラマブルシェーダが二つ新設され、さらに固定機能ユニットが1つ新設される。
二つのプログラマブルシェーダは「ハル・シェーダ」(HULL SHADER)と「ドメイン・シェーダ」(DOMAIN SHADER)という、聞き慣れないキーワードの与えられたシェーダになる。
HULLとは「外皮」「殻」を意味し、DOMAINは数学で言うところの「変域」を意味する。
さらに、固定機能ユニットとしてはポリゴン分割ユニットである「テッセレータ」(Tessellator)が実装される。
ハル・シェーダとドメイン・シェーダのみをプログラマブルシェーダであると強調することから、DirectX 11世代のGPUでは統合型シェーダアーキテクチャにおける汎用シェーダユニットはハル・シェーダやドメイン・シェーダとして起用され、その個数は可変となる……ということなのだろう。
逆に、そして「テッセレータユニットが固定機能ユニットである」と強調されることから、テッセレータはDirectX 11世代のGPU内の汎用シェーダユニットが起用されてなることはできず、個数が決まり切った専用ロジックで提供されると見て間違いないだろう。
なお、これらは、本誌連載コラム「3Dグラフィックス・マニアックス」でも紹介したことがある、マイクロソフトが2007年に「仮説的なDirect3D 11パイプライン」として公開したダイアグラムとはやや違っている。