2010年10月30日

遅延陰影処理。   

Deferred Shadingというのが今の3Dゲームでトレンドらしいです。法線計算とシェーディングを別プロセスにまとめる事によって、様々な効果を効率良く行えるらしいです。よく分からないんですけど(特に透明オブジェクトをどうやって処理するのか分かりません)たくさんライトがある時に有効な方法らしいです。

で、それとは全く関係無い話なんですが、Easy3Dでは同時に使えるライトの数は3つまでです・・・が。
郭海王
※イメージ映像です。ぼおんさんはドヤ顔で生卵を食したりしません。

工夫次第でなんとかならない事もありません。という訳で久々にサンプル。
→ダウンロード
ふんどし源之助。
暗闇で木刀振り回すふんどし源之助の周りを色とりどり27個のポイントライトが周回してます。ついでにバンプ3つと共存出来ないはずの影もオマケしておきました。
例によってE3Dのバージョンはちょっと古いです(新しいのでも動くかどうかはアイドンノウ)実用性は低いのでタネ明かしは各自ソース参照という事でお願いします。
リアルタイムでは使えなくても(私の環境だと40fps出ません)、ムービー作成とかなら結構イケるんじゃないですかね。


posted by ぼおんぼおん。 at 18:43 | 東京 ☔ | Comment(4) | 小ネタ的なもの | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
こんにちはー。

サイトが移転しましたので、連絡をしに来ました…と
思ったら既にURLを変更されてますね苦笑。
通達が送れてしまい、申し訳ないです。

僕もようやくマルチターゲットはじめましたが、
Deferred Shadingは不透明用と透明用のバッファを
更に分けるか、不透明を全て描画後半透明だけ後で
通常描画するとかだと思います。

マルチライト、少しだけソース見てみましたが。
HLSLかと思いきや、、レンダーステートで加算合成ですか?
手法もさることながら、モデルが男前すぎて胸が熱くなってきた!!
Posted by たけなか at 2010年11月01日 03:33
移転お疲れさまです。もう無くなっちゃったんですかねinfoseek。私もスペース借りてたんですけども(笑)
あ、なるほど・・・バッファを分けるのが現実的かも。どっちにしろかなり重い処理ですよね。本当にこれから流行るんでしょうかね?

そうです単純に光源変えたモデルを重ねて加算してるだけです。なんというリソースの無駄遣い(笑)
同じ内容ならお姉ちゃんにポールダンスでもさせればお客も集められるのにふんどし侍でやるあたり私の残念な所だと思います(笑)
Posted by ぼおん at 2010年11月01日 13:46
やだもう、ぼおんさん、ふんどし男をテカらせちゃってwww
確かにこの方法ならいくつでも出来ますね。

正規の方法と比べると毎回頂点計算の負荷がかかるっていうのとアンビエントが毎回加算されるっていう欠点がありますが。

シェーダー3以上では頂点情報をテクスチャに入れてそれを使いまわしたり出来るそうですよ。

シェーダー5なら1パスでライト5から8個いけそうですが。

高速化のためのテクがもともと高速(新しい)なマシンでしか使えないのも、なんとも悲しい気もしますね。
Posted by おちゃっこ at 2010年11月03日 07:29
バンプ使った手頃なモデルがこれしか無かったってのもありますが、やってみたら想像以上に気持ち悪くてしてやったり(笑)

本来なら少なくとも、毎回頂点演算やり直す必要は無いはずですよね(モデル2つ読み込む必要も)まあ私に出来る方法がこれしか無かったので(笑)アルファとかZバッファとか操作出来るとまた面白い事出来そうな気がします
実際のDeferred Shadingではマルチレンダーターゲットとか使うそうですね。
Posted by ぼおん at 2010年11月03日 13:49
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

×

この広告は180日以上新しい記事の投稿がないブログに表示されております。