描画された画面を更に変形する方法

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Sigma
記事: 20
登録日時: 12年前

描画された画面を更に変形する方法

#1

投稿記事 by Sigma » 12年前

初めましてです。
早速なんですけれども、一度描画された画面を更に変形させる方法が思いつかずに悩んでいます。
どういうことかといいますと、
  背景1 ー
  背景2 ー →描画→描画結果 ー ⇐これを更に潰したり歪みエフェクトなり付けたいんです。
  背景3 ー
photoshopでいえばフォルダみたいな感覚でやりたいのですが…
どうすればいいでしょうか。

検索でもどういうワードでやればいいか分からず行き当たりばったりで探してましたが、
良さ気な記事が見つからず…

ちなみにC++でDXライブラリを利用してやろうと思っています。
要は東方の地霊殿以降にあったボス周りの歪みエフェクトを再現したいです。

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

Re: 描画された画面を更に変形する方法

#2

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

ごめんなさい。さっぱり説明がわかりません。
「photoshopでいえばフォルダ」もphotoshopに詳しくないので意味がわかりません。
  背景1 ー
  背景2 ー →描画→描画結果 ー ⇐これを更に潰したり歪みエフェクトなり付けたいんです。
  背景3 ー
ここだけ見ると2レーヤー目だけ変形させたいようにも見えます。

あと開発環境や言語、使用ライブラリも明確にして頂けますか?
あっ書いてありましたね。失礼しました。

[追記]
>要は東方の地霊殿以降にあったボス周りの歪みエフェクトを再現したいです。

ごめんなさい。そちらも分かりません。
動画リンク等をお願いします。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
沖 滉均
記事: 237
登録日時: 13年前
住所: K県F市

Re: 描画された画面を更に変形する方法

#3

投稿記事 by 沖 滉均 » 12年前

Sigma さんが書きました:photoshopでいえばフォルダみたいな感覚でやりたいのですが…
説明がいまいちわかりませんが、エフェクトをつけたりしたいとのことなのでフォルダではなくフィルタなのではないかと…
There is no royal road to learning.
codeタグで指定できる言語
画像

Sigma
記事: 20
登録日時: 12年前

Re: 描画された画面を更に変形する方法

#4

投稿記事 by Sigma » 12年前

えっと、フィルタじゃなくてフォルダで大丈夫です。
複数のレイヤーを1枚にまとめたレイヤー(フォルダ)にして
この状態で1枚のレイヤーとして自由変形したいといった意味だったので。

描画結果を更に1つの「テクスチャ」として扱えれば東方の歪みエフェクトとか
最新作ラスボスのような3D回転する(というか前後にパタパタする)オブジェクトをカメラの干渉なしにできるので…

一応動画をということなので。
前者の歪み(ボス周りのもやもやとしたやつです)
[nico]http://www.nicovideo.jp/watch/sm15382463[/nico]1:55~・5:08~。
背景が変わってももやもやが継続してるので
おそらくは背景の描画結果をテクスチャとして扱って更に変形させてるのかと…

後者の3D展開オブジェクト
最新作故一応ネタバレ注意で
[nico]http://www.nicovideo.jp/watch/sm15295887[/nico]8:22あたりで充電エフェクト後にボスの背後に展開されるでかい3枚葉っぱです

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

Re: 描画された画面を更に変形する方法

#5

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

これは、マルチパスレンダリングやシェーダ的な手法ですね。

マルチパスレンダリング
「オフスクリーンレンダリングはできますか?」
http://hpcgi2.nifty.com/natupaji/bbs/pa ... ew&no=1547

DXライブラリでのピクセルシェーダの使い方はこちら。
「自作シェーダの使用について」
http://hpcgi2.nifty.com/natupaji/bbs/pa ... ew&no=1643
ピクセルシェーダは別に勉強してください。

この2つを組み合わせれば出来ると思います。
ピクセルシェーダは使わなくても力技でできるかも知れませんが遅そうです。

[補記]
東方神霊廟には動作環境にシェーダ関係の記述がないので力技?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

Sigma
記事: 20
登録日時: 12年前

Re: 描画された画面を更に変形する方法

#6

投稿記事 by Sigma » 12年前

おー、マルチパスレンダリングまさにやりたいと思ってた通りのやり方です。
これで展開オブジェクトも歪みもできそうです。
ありがとうございました!
最後に編集したユーザー Sigma on 2011年9月13日(火) 11:25 [ 編集 1 回目 ]

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

Re: 描画された画面を更に変形する方法

#7

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

歪ませ方でもう一つ思い出しました。
複数のメッシュで構成されたポリゴン板に絵を貼り付けてUVを使って歪ませる方法です。

[追記]
解決したら、解決ボタンをお願いしますね。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

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