ニュース
[CEDEC 2006#02]Radeonを使ってDirectX 10を先取り? ATI,「Render to VB」の実機デモ
Direct X 10の新機能については,2006年5月26日の記事などでお伝えしているから,覚えている読者も多いだろう。
ジオメトリシェーダ(Geometry Shader)は,名前のとおり,頂点座標(ジオメトリ)を加工するシェーダだ。DirectX 9では,CPUからGPU(グラフィックスチップ)に与えられた頂点に対してレンダリングを行う,という形であるわけだが,DirectX 10では,与えられた頂点に手を加えてレンダリングできるようになるのだ。
例えば,クルマのタイヤなどを考えてみるといいだろう。現状では,頂点数が少ないため,どうしても多角形に見えてしまいがちだが,ジオメトリシェーダを利用すれば,より簡単な手続きで,よりタイヤらしく描画できるようになる。
ジオメトリシェーダユニットは,スライドで「Stream out」と表現されている,フレームバッファ(グラフィックスメモリ)に対する入出力機能「Stream Output」を持っている。ジオメトリシェーダで生成した頂点をバッファに書き出し,再解釈してレンダリングする,という柔軟な処理が行えるようになるわけだ。これにより,DirectX 9世代では,CPUが関与せざるを得なかったアニメーションの描画なども,DirectX 10ではGPUだけで行えるようになる。
■「Render To VB」を利用した
■DirectX 10のシミュレーションが可能に
DirectX 10にはそのほかにも,さまざまな強化点,変更点があるが,それらは前出の解説記事に詳しいので,そちらを参照してほしい。
今回のセッションで注目したいのは,Radeonシリーズの機能の一つ「Render to VB」を利用し,DirectX 9仕様のまま,DirectX 10仕様の一部をシミュレートしたデモがいくつか公開されたことだ。
もちろん,DirectX 9ベースの現在のグラフィックスパイプラインにはジオメトリシェーダそのものがない。そのため,DirectX 10とまったく同じことを,同じパフォーマンスで実現できるわけではないが,Riguer氏いわく,「Render To VBを利用すればDirectX 10の一部の機能を先行して試せる」。氏は実際に,いくつかのデモを実機で行ってみせた。
GPUを用いたアニメーションが可能というDirectX 10を一歩先取りしたデモなのである。
さらに,頂点追加の代表例ともいえる「N-Patches」を,DirectX 9+Render to VBで実現するデモも披露された。
N-Patchesというのは,ポリゴンの頂点間を曲線で結び,間を適当にプロットして新たな頂点を追加する,3Dオブジェクトを滑らかに見せるテクニックの一つ。先ほど例として挙げたタイヤの話も,実現するには基本的にN-Patchesが用いられることになるが,Render to VBを利用すれば,DirectX 9世代のGPUでも行えるというわけだ。
そのほかにも,いくつかデモがあったので画面とともに内容を紹介しておこう。
講義に参加した開発者にとっては,Render to VBの使用を通じて,DirectX 10環境の開発に(ある程度)慣れることができ,DirectX 10のレンダリングエフェクトの一部を体験できることになる。ATIとしても,そのあたりをアピールしたかったのかもしれない。
なお,講義では,GPUをCPU的に用いるGPGPU的な話も取り上げられた。実際のところ,GPGPUについてはATIも力を入れている分野だと思われるが,デモを用意できなかったためか,はたまたDirectX 10と直接的な関わりはないためか,簡単に触れられるにとどまった。(米田 聡)
- 関連タイトル:
ATI Radeon X1900
- 関連タイトル:
ATI Radeon X1800
- 関連タイトル:
ATI Radeon X1600
- 関連タイトル:
ATI Radeon X1300/X1550
- この記事のURL:
(C)2006 Advanced Micro Devices Inc.
(C)2006 Advanced Micro Devices Inc.
(C)2006 Advanced Micro Devices Inc.
(C)2006 Advanced Micro Devices Inc.