フォト

Google AdSense


  • AdSense
無料ブログはココログ

« 動いた | トップページ | 帰ってきた »

2006.04.03

とりあえず

突如、ATIがDirect3D9でRADEON 9500以上の機種で"Render To Vertexbuffer"(R2VB)が出来るよとカミングアウトしたので今日はそのテスト。

・・・でまとめ(間違ってるところもあると思うのでShader.jp Newsではなくこっち)。

RADEON SDK(ホワイトペーパーも)
http://www.ati.com/developer/radeonSDK.html

とりあえず、下記のようなサンプルを公開。


R2VB-Animation - Tens of thousands of animated models rendered at interactive frame rates because of render to vertex buffer.
R2VB-ShadowVolume - This sample shows how you can do shadow volume extrusion of animated meshes entirely on the GPU using render to vertex buffer.
R2VB-FootPrint - Deforms a mesh to make footprints in the snow with Render to Vertex Buffer.
R2VB-IK - Inverse kinematics animation with Render to Vertex Buffer.
R2VB-TerrainMorph - A simple example of how to use Render to Vertex Buffer.
R2VB-Cloth - A cloth simulation using Render to Vertex Buffer.
R2VB-Collision - Particles with collision detection using Render to Vertex Buffer.
R2VB-NPatches - A way to do N-Patch tessalation on the GPU using Render to Vertex Buffer.
R2VB-OceanWater - An ocean water wave simulation entirely on the GPU using Render to Vertex buffer for the animation.
R2VB-ParticleSystem - A million particles rendered in real time because of Render to Vertex Buffer.
R2VB-Sort - Transparency sorting entirely on the GPU using Render to Vertex Buffer.
R2VB-Water - A water surface simulation using Render to Vertex Buffer


例のAGEIA、Havok(&NVIDIA)に対してATIが、

「我々はもっと効果をあげる」

と言っていたのはおそらくこれだったのでしょう。

「専用の(物理向け)命令をドライバアップデートで対応できるようになっている」

というのも納得です。

ようするに2次元のテクスチャデータを1次元に開いて、カラーフォーマットをうまくVertex declation typeと対応づけることでテクスチャをVERTEX_ELEMENTの各要素に使おうって感じですね。

RADEON X1xxxシリーズはNVIDIAのようにVTF(Vertex Texture Fetch)が使えないのでピクセルシェーダの処理結果をジオメトリに適用することが出来ませんでしたが、これによってジオメトリの変位を出力する方法を得ました。

VTFってなんだかんだ処理コストが高いので、このやりかたはテクスチャ→頂点バッファの流れが軽ければパフォーマンス面で優位な気がします(一方で、欠点はテクスチャ解像度でジオメトリの数に制限がでる)。あと、Nパッチを使うことでメッシュ分割が出来るし、浮動小数点テクスチャサポートGPUならRADEON 9500からOKみたいですし。

とりあえず、パフォーマンスの検証がまだ出来てませんが、Mobility X700でのテストではそこそこ動いてるので、ディスプレースメントマッピング以外にも様々なネタが出来るこの技術はちょっと面白いですね(でも、Direct3Dでの実装がなんか気持ち悪いなぁ・・・)。

さて、ATIの反撃はどうなるでしょうか?また、ちょっと面白くなってくるとともに研究室でも1枚くらいX1800やX1900を押さえておけば良かったという感じです(X700はPS 2.0bなので)。

とりあえず、動くGPUはあるのでさらにテストと実装をやってみるかな。

« 動いた | トップページ | 帰ってきた »

Programming」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/2210/9416557

この記事へのトラックバック一覧です: とりあえず:

« 動いた | トップページ | 帰ってきた »