Direct3D 10

Published 23 June 06 11:43 AM | hiroyuk 

来週 MD3 というイベントで、Direct3D 10 とシェーダモデル4.0をしゃべるので、久しぶりに (Unmanaged の)  Direct3D をいじっています。Direct3D 10 は Direct3D 9 までと違って下位互換性を持たず、Windows Vista かつ次世代ハードウェア (まだ Direct3D 10 が動作するハードウェアは販売されていません) でのみ動作します。したがって普及には時間がかかりそうです。しかし、その機能には、ゲーム開発者はもちろん、CG に興味のあるプログラマにはぐっとくるものがあります。

特にジオメトリシェーダは特筆ものです。GPU がこれだけ高速化した現在、ボトルネックはやはりバスです。高品質の画像を生成するには CPU から GPU に多量のデータを送る必要があるのですが、PCI Express であっても無限のデータを送ることはできません。ジオメトリシェーダの優れた点は GPU で頂点 (より正確にはプリミティブ) 生成ができることです。DirectX 9 SDK June 2006 のサンプルには、パーティクルやブラーや変移マッピングの頂点を GPU で生成するサンプルがあります。

さらに (実は一番重要なのですが) ジオメトリシェーダによりシャドウボリューム用の縮退四角形が必要なくなります。影生成の主要テクニックの1つであるシャドウボリュームでは、光源から見た輪郭エッジで四角形を生成し、片方の辺を無限遠点に座標変換します。ところが、現在の GPU では頂点を生成できないので、三角形の各辺に縮退四角形としてデータを持たせる必要がありました 。全ての三角形の辺に縮退四角形を持たせることを想像すると、とんでもない数になることが予想できます。そのため、シャドウボリュームはあまり GPU では処理されてきませんでした。これがジオメトリシェーダによって解決できるのです、興味のある方は SDK のシャドウボリュームのサンプルを参照してください。影生成のアルゴリズムに興味のある方は前回の書籍をお読みください。

Filed under:

Comments

# 河端善博の .TEXT でウェブログ said on June 27, 2006 11:10 PM:
成果物認定までが必要 (MD3 に参加して
Anonymous comments are disabled

About hiroyuk

マイクロソフト㈱エバンジェリスト。北海道大学理学部物理学科卒。リアルタイム3Dグラフィックスを専門とし、グラフィックスやシェーダに関する技術文章を執筆・講演。 DirectX SDK日本語ドキュメントの開発に携わるとともに、Windows Presentation Foundation プログラミング(オーム社)、Game Programming Gemsシリーズ、リアルタイム レンダリング第2版(ボーンデジタル)、Texturing & Modeling, A Procedural Approach などを翻訳・監修、XAMLプログラミング(ソフトバンク クリエイティブ)を執筆。趣味は薪割り。

Search

This Blog

DirectX 情報

Silverlight 情報

Windows 情報

WPF 情報

並列コンピューティング情報

著書

Syndication

Page view tracker