HOME  
 
:: メインメニュー
:: Personal
:: Amazon
サーチ:
キーワード:
Amazon.co.jpアソシエイト
Shader.jp News
リアルタイムシェーディング技術やGPU,3DCGプログラミング,研究といったものの情報で気になるものをピックアップ.

スパムが多いため,コメント,トラックバックは一度管理人が確認してから反映します.そのため,投稿から実際に画面に表示されるまで時間がかかりますので,ご了解ください.

※基本的には,時事性の高いものを扱いますが,たまには古いものも混じったりします.
※記事の引用,記事へのリンク,トラックバックは法律の許す範囲でご自由にどうぞ.
※記事へのコメントはその記事のタイトルをクリックしてください.リンク先にフォームが出てきます.
※当サイトでは情報の信憑性に関しては保障しませんので,信頼性に関してはそれぞれでご確認ください.
※管理人が不適切と判断した記事,コメント,トラックバックは削除することがありますのでご了承ください.


Shader.jp News トップへ

RSSを追加する

2006年2月12日(日曜日)

波面シェーダ + 頂点テクスチャフェッチ(追記)

カテゴリー: - masafumi @ 21時09分15秒

以前,下記の記事でやった波面シェーダの結果を頂点シェーダでテクスチャ参照してジオメトリの変位を行うようにしました。

波面シェーダ : FX Composerの"Fluid"より
http://www.shader.jp/xoops/html/modules/wordpress/index.php?p=97
個人blogの方(動作ビデオを置いてます)
http://masafumi.cocolog-nifty.com/masafumis_diary/2006/02/post_df71.html

※上記ビデオでは256×256頂点ですが,下のソースでは64×64頂点でやってます.シミュレーションテクスチャの解像度は一緒です.

デモでは,画面上をマウスで左クリックするとその位置に応じて波の計算を行って頂点が変形するってかんじです.発生位置は,画面を0.0〜1.0と見たててテクスチャ座標の0.0〜1.0に対応するって感じです.

動作要件
下の方にソース & バイナリがあります(Visual Studio.NET 2003 & Visual Studio 2005).DirectX SDK February 2005です.

実行ファイルもありますが,実行時にDLLが足らないとか言われる方は下記からDirectX End-User Runtimes (February 2006) を入れるようお願いします(SDKを入れたくない方も).

http://www.microsoft.com/downloads/details.aspx?FamilyId=2DA43D38-DB71-4C1B-BC6A-9B6652CD92A3&displaylang=en

GPUは,GeForce 6シリーズおよびGeForce 7シリーズで(RADEON X1xxxシリーズは頂点シェーダでテクスチャ参照ができないのでダメです).

ソースの簡単な概略

CGPUFluid* g_cgpu = NULL; // 水面エフェクト

このクラスでやってます。

// CGPUFluid
g_cgpu = new CGPUFluid;
g_cgpu->Init( pd3dDevice, 64, 64 ); // 初期化

初期化の第2,第3引数は横と縦のグリッドの数(頂点数 = 横 x 縦).

一応,シミュレーションテクスチャが256×256ピクセルなので256×256頂点にすべきなのですが,パフォーマンス的なことを考えてこのぐらいにしてます.

// MouseProc内
g_cgpu->GenerateWave(pd3dDevice, &vPos);

波の発生位置を決めるとこです.第2引数は,シミュレーションテクスチャの発生位置のテクスチャ座標。

// 描画
hr = g_cgpu->Render3D(pd3dDevice, g_pTexture, &imat);

第3引数は,トランスフォーム行列.

ダウンロード
ダウンロード(501KB)
http://www.shader.jp/xoops/html/DL/VertexTextureWater.zip

※注意.本デモは実験的に作ったものなので何が起こるかわかりません(大袈裟)ですので,起動にともなう損害,その他はこちらではサポートしません.その点をご理解いただける方のみダウンロードしてください.

デモの著作権についてですが,このファイル自体の無断転載・再配布はおやめください.ただし,このソースを参考にして何かのプログラムに組み込むとか,改変すること自体に関しては制限しません.


コメント

このコメントのRSS

TrackBack URL : http://www.shader.jp/xoops/html/modules/wordpress/wp-trackback_script.php/208

この投稿には、まだコメントが付いていません

コメントの投稿

改行や段落は自動です
URLとメールアドレスは自動的にリンクされますので、<a>タグは不要です。
以下のHTMLタグが使用可能です。
<a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <br> <code> <em> <i> <strike> <strong>


ご注意 : セッティングにより、コメント投稿から実際に閲覧できるようになるまで暫く時間が掛かる場合があります。 再投稿の必要はありませんので、表示されるまでお待ち下さい。

23 queries. 0.253 sec.
Powered by WordPress Module based on WordPress ME & WordPress

:: カレンダー
2006年 2月
« 1月   3月 »
 1234
567891011
12131415161718
19202122232425
262728  
:: 新着
:: 検索
:: Shader.jp News 最近のコメント
:: Shader.jp カテゴリ一覧
:: Shader.jp News 月別過去ログ
:: Shader.jp News 検索