テクスチャが歪む、モーションブラー等のエフェクトについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ナギサ

テクスチャが歪む、モーションブラー等のエフェクトについて

#1

投稿記事 by ナギサ » 9年前

SFチックなFPS等のゲームであるダメージを受けると画面全体にノイズが走り、UIが歪むようなエフェクトや、
モーションブラー等の画面全体に走るエフェクトはどういう流れで実装しているのでしょうか?

以前こちらで
http://dixq.net/forum/viewtopic.php?f=3&t=16322
DirectX9のテクスチャの設定等質問したぐらいの知識です。

DirectX9で似たようなエフェクトを再現するにはどういう手順になるのかなと考えた次第です。


例えばノイズを画面にかけたい場合は、どのような処理をすればいいのでしょうか?
※ノイズというのは添付画像のように上からyピクセル目の列はxピクセル横にずらすみたいな感じです

書き込んだ頂点に対する操作があるのか、実はノイズをかける要素の頂点を増やして歪ませてから書き込むのか、
モーションブラー等の3D上の物体をジオメトリパイプラインを通って画面上のピクセルに変換したものに対する2Dのエフェクトが存在することを考えると
書き込んだ後に操作するのだと思うのですが、どうなんでしょうか。


ひと通り頂点を書き込んだ後に、DirectXのデバイスクラスに対してエフェクトをかける操作を実行するととても楽そうですが、
普通に描画したいテクスチャの後にエフェクトをかけたいテクスチャがあったりすると破綻しそうですあ

画像

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: テクスチャが歪む、モーションブラー等のエフェクトについて

#2

投稿記事 by softya(ソフト屋) » 9年前

古典的には、レンダリングを2回に分けて1回目のレンダリングデータをスライス拡縮やらポリゴンに貼り付けで描画すれば歪とか表現はできますが、現代的にはシェーダを使うのが一般的だと思います。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ナギサ

Re: テクスチャが歪む、モーションブラー等のエフェクトについて

#3

投稿記事 by ナギサ » 9年前

率直に申し上げますと、ライティングや歪みといった、あるピクセルがあるテクスチャのテクスチャ情報を取得できなかったのにも関わらず影響を及ぼすのが
頂点シェーダなどの頂点情報に対する操作から想像出来ません。

その頂点が作る三角形に対しては、例えば光があたって白っぽくできるとかはわかるのですが、
頂点が作る三角形以外の周囲にぼやっとしたエフェクトを出すとか、あのDirectX9のデバイスクラスの仕様から見当もつきません

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: テクスチャが歪む、モーションブラー等のエフェクトについて

#4

投稿記事 by softya(ソフト屋) » 9年前

ピクセルシェーダは、ポリゴン面だけを相手にするシェーダじゃないですよ。
http://maverickproj.web.fc2.com/pg57.html
レンダリングバッファをターゲットに出来ます。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ナギサ

Re: テクスチャが歪む、モーションブラー等のエフェクトについて

#5

投稿記事 by ナギサ » 9年前

なるほど、参考にしてみます、ありがとうございました

閉鎖

“C言語何でも質問掲示板” へ戻る