Pintek Soft

かぶ・・被写界深度?

Filed under: ゲーム — sunpin @ 2008 年 9 月 15 日3:24 AM

 

やっぱりこの程度の単純な処理だと汚いですけど、一応被写界深度処理っぽいことを。手前に対して奥がぼけてますよね。単純にレンダリングしたイメージをデプスに応じてMIPレベルを変えてレンダリングしてるだけなんです。このやりかた難点は極端に距離が違うものの境界はきれいにぼけないってことです。だからマップとキャラはきれいにぼけて見えるのですが、マップと背景はきれいに見えないわけです。まあこの程度でも使い道はあるし、何より処理が軽いので。

手前に来るものにピントが合っていればそれほどおかしな絵にはなりませんし、まあとりあえずストックしておきましょう。次はブルーム、シャドーあたり実装するかな。バンプはどうしましょうかね。まあバンプを実装するならついでにPhongも実装することになるわけですが、どちらかというとあまりピクセル側に時間とらせるより頂点処理に時間をとるべきかもと思ってます。キャラクターのポリゴン数をそれなりに割くつもりなので・・・

てか、結構バンプの処理って面倒だったりするの(はあと

その割に意外と使いでないしなあ。今回の場合。

Phongもポリゴンが少ない場合はGouraudと比べて圧倒的にきれいですが、ポリゴンが十分に多ければ大差なくなってきますし。

あー、それよりスペキュラーが先ですな、常考的に。

カメラも今まともな実装してないしなー。やることたくさんあるじゃん(汗

スプライトへのピクセルシェーダ

Filed under: ゲーム — sunpin @ 2008 年 9 月 13 日3:13 AM

もうわけがわからんですよ。

あ、画像がぼけボケなのは・・・つまりシェーダがちゃんと動いたって事なんですよw

リアルタイムで画像をぼかすシェーダですな。難しいことは何もしてない、すげえ単純なやつですが。

 

・・・1日あたり1,2時間とはいえ、ここまで来るのに3日くらいかかるとは;;;

しかも、問題あったのは1行だけですよ?

 

で、問題があったってのが

spb.Begin();

spb.Begin(SpriteBlendMode.None, SpriteSortMode.Immediate, SaveStateMode.None);

にしただけ。つかサンプル丸コピ。意味わかんね(を

いやパラメータの意味はわからなくもないですよ・・・

と思いつつググると

ひにけに

あーーー、SaveStateModeってNoneにしておかないとシェーダも勝手に変えちまうのかよ!!!

それだ・・・レンダーステートだけ保持するかと思ってたからてきとーに扱ってたんだけど・・・マジでやられたぜ。

まあ、解決。エフェクト作ろう。ブルームとDOFあたりは作ってみてもおもしろいな。

HPの人間は脳が膿んでるのかと

Filed under: 意味なし — sunpin @ 2008 年 9 月 11 日1:34 AM

 

知り合いがいるにもかかわらず言ってみるテスト。

てかさ、どのアプリ使ってるときもCtrl+Shift+Sでこの画面が立ち上がるってありえないぞwww

かなり多くのソフトでこのショートカットは「名前を付けて保存」だとおもうんだけども。

しかもこのメニュー、起動がかなり重いんです。

いろんな意味でありえねえ。てかどうやって消すんだよw

メラメラと燃えている!燃えている!

Filed under: ソフト制作 — sunpin @ 2008 年 9 月 8 日3:28 PM

 

というMiss me blindな感じはともかく。

先のエフェクトをゲーム側に持ってきてみました。元とは結構変わってますけど。

というか、どうなのよ、XSI。

リアルタイムシェーダに法線も面の向きも逆のものが送られてくる気がしないでもないですよ?

まあ、どっちが標準かとかそういう話はあってないようなものなので、どちらでもコードちょっと書き換えるだけで済む話なのですが、

 

まあ、面の向きはしょうがない。

 

でも法線はおかしくないかと。

 

送ってくるものを素直に見ると、法線が内側を向いているような気がします。ありっすか?それ?

それとも変換行列がおかしい? いや、まあ、でも変換行列も送られてきたものそのまま使ってるし。

 

・・・あ、法線ベクトルの計算間違えてたとかあるかも(汗

<そのあたりは同じものが使えなかったので書き換えちゃったからなあ。

リアルタイムシェーダ

Filed under: ゲーム — sunpin @ 2008 年 9 月 6 日1:24 AM

半透明でなんだかよくわからない形のものをレンダリングするシェーダを書いてみました。

なんだそりゃ、といわれそうですが、まあ要は魔法やら何やらのエフェクト用ですわね。静止画だとわかりづらいのですが、角度を変えるとかなりフニョフニョと面白い見え方をします。かといって動画作るような環境なかったりして。

しかしシェーダは理詰めでいくもんじゃないですね。仕様がきちんと明かされてない点が結構あったりして。

…シェーダ3.0ならディスプレイスメント対応してるはずなのに、なぜか動かない…おかしいと思って参考書見てみたら、頂点シェーダからテクスチャ参照するにはアセンブラしか無理とか書いてやがるYO!

…まあ、どうせHLSLでもアセンブラだとどういうコードになるか意識しながら書いてるので手間はあんまり変わらないので、そうすりゃいいじゃん、といえばそうなんですが、ムカついたのでディスプレースメント使うのやめましたw ちょっと遅かろうとテキトーな計算式で変位させればいいやとw

ま、それすらしてない現状。とりあえず明日はこのシェーダをゲームに実装しよう。

それにしても、XSI7すげえいいな…

まあ、欲しい機能的には5Fndで十分なのですが、手元にあるのは4.2(笑) Fndもう手に入らないし、いよいよ期限も近いし…

腹くくるかなあ・・・

« Newer PostsOlder Posts »
(c)2017 Pintek Soft