ぼかし実装版をリリースしました!

図は左上がノーマルなレンダーで右上の小さいのがガウスぼかしで
左下がノーマルとぼかしをアッドモードでブレンドしたものです。
光って周囲がちょっとぼけてますね。
これがグローの原型になります。
グローはこの光る部分をどこにするかを制御できるようにしたものです。
どういう風に制御するかというとテクスチャのアルファを使います。
テクスチャのアルファ成分が0の部分は光らせずに
アルファ成分が0以外の部分を発光させます。
つまりグローはマテリアル単位で指定してテクスチャが無いと使えないことになります。
通常のテクスチャとグローのテクスチャは
RokDeBone2でどちらに使うかを指定するようにしようと思います。
テクスチャへのレンダリングだと正方形になるから
アスペクト比はどうすればいいのかな?
縦長に描画するようにして横長のメインウインドウに貼りつければいいのかな?
ちょっとまだその辺の実験が必要です。
ここがうまくいかないととりあえずEasy3Dだけでの表示になるかもです。
テーマ : プログラミング - ジャンル : コンピュータ
と思って早速インストールして、疑似ソフトシャドウをやろうとしたのですが、シャドウマップはE3DRenderWithShadowを呼び出した瞬間に作成されて描画されるので(?)テクスチャをぼかせられませんね。E3DRenderWithShadowとは別に、シャドウマップ作成とそれをあわせて描画を別命令で行うための命令が欲しいのですが、これは実装可能ですか?
シャドウマップと描画の命令を分離するのではなく
ソフトシャドウの有効無効とパラメータを設定する命令を足して
対処しようかなと思っています。
すぐには出来ませんです。
それまで待ってます。
それはこの疑似ソフトシャドウの、影の輪郭がぼやけて本来影のはずのところが光ってしまうという問題を避けるためでしょうか?
そういうわけではないです。
アッドモードにしなければ光らないと思いますよ。
分離しないのは簡単化のためです。
きれい!
既に少し幻想的ですね!w
背景は、青じゃなく、黒にしたほうが、効果が分かりやすくていいかも。
私も早速実装させて頂きました!
ttp://fx.104ban.com/up/src/up7514.png
淡い感じに光り、リアリティがかなり増しました><
スクリプトを基本部分だけ記述して大分放置していたのですが・・・この日を待っていました(笑)
(1枚目の足元が青いのは、背景が無い状態だからですかね?・・・)
一つ質問なのですが、背景色(?)を変更することができるのでしょうか?マニュアルを読み直したのですが・・・終に見つけることができず・・・(探し足りないのかもです・・・スミマセン><)
モデルの見える部分は問題ないのですが、フォグで先が見えない状態で、かつ、オブジェクトがフォグを跨ぐ場合、青色で(1枚目の足元のように)縁取られてしまうので・・・。黒に変更できれば、違和感が無いかと思いまして・・・。お忙しい事と存じますが、何卒宜しくお願い致します。
ありがとうございます。
そうですね。黒の方が良かったかもです。
>lenさん
スクリーンショットかっこいいです。
背景色変更命令はまだありません。
スワップチェインごとに背景色を設定できる命令を作りますね。
やることリストに書いておきました。
実装されることを楽しみに待っております!
と、もう一つ、グーローを設定した場合、アンチエイリアスはOFFになったりするのでしょうか?アンチエイリアスをONにしていたのですが、グーローを入れてからOFFになってしまったので・・・。
グーローじゃなくてグローですよ。
背景色変更命令は簡単なのでグローの前にやってしまうことにしました。
明日やります。
アンチエイリアスはバックバッファに描画するときにしか有効にならないみたいです。
テクスチャへの描画時には無視されるようです。
それと青っぽくなる件ですが
アルファブレンドの描画順序はあってますか?
不透明を先に描画してから半透明を描画しないと背景が透けることがあります。
半透明同士の場合はカメラから遠い方(奥の方)から描画するとうまくいきます。
>グーローじゃなくてグローですよ。
むむ?グーロー・シェーディング(Gouraud shading)の事じゃないのですかね・・・調べるとグーロー又はグローとなってるのでどちらでもOKなのですかね?
>アンチエイリアス
なるほど・・・そうですか><
1pixでぼかしかけたのを上乗せすれば簡易アンチエイリアスになる・・・かな・・・?
>青っぽく
レンダリングするスワップチェインで背景展開しましたら、青いのが取れました!画面上に表示されているままテクスチャにコピーされているものだと思って書いていなかったのですが、やってみると上手くいきました^^
Gouraudは大昔から対応しています。
それじゃなくて今回のは発光する意味のグローです。
英語だとたぶんGlowです。
今日はあまり作業できなくて背景変更は間に合いませんでした。
(HSP版は出来たんですがC++版がまだです)
明日リリースできると思います。
てっきり、照明効果としてGouraudを別処理するのかと思ってました。
明日のリリースを楽しみにしております^^
コメントの投稿