2008年8月29日金曜日

viewer - スカイドーム

本当は影を実装しようとしていたんですが、難しくて挫折中です。

で、折角ShaderBindingできるようにしたんだから、パラメーター使いまくる、派手な効果とかエフェクトとかを実装したかった(バグ発見と仕様決めるのにも役立つし)ので、探し回ったところ

DirectXの話 第78回
「Dynamic Skyscape : 動的な空の描画」
http://monsho.hp.infoseek.co.jp/dx/dx78.html


なんじゃこりゃああああ、めちゃくちゃすごいぞ!!!

しかも実行ファイル付きのサンプルまで公開してくれてる。


これだ、これしかない!!

しかも1パスだから、まだ仕様決めかねてる複数パス使わなくてもいける!!


…数時間後…


とりあえず固定パラメーターで動くようになった。
さすがに、そこそこ負荷もかかるみたい。mac miniではキツイ。

あとはBindingすれば、時間による空が変化とか、余裕でできるはずっ!

video

途中で、深刻なバグも1つ発見したし。今日は良い日だ~


-------------------------------------------------翌日


朝っぱらから、雲行きが怪しく、豪雨+カミナリで目覚めました。

昨日の続きで、ShaderBindingのテスト。
任意の値を使うのに、PoseのScaleしか使い物にならなった…。
よく考えてみれば、当たり前なんだけど…。
まぁプラス思考に、任意の値が使えた!任意たん萌え!ってことにしておこう。
(線形グラデーションのときは、任意の値じゃなくて、ボーンの座標使ってた)



さて、parentにしたうえで、任意の値を無理やり入れるもんだから、座標がぐちゃぐちゃなので、Emptyどもを、まとめてレイヤ2に押し込めた。

そもそもBoneをObjectのparentにするなんて、一体誰が使うんだ!?って感じの機能で、parentにしたあと、parentになってるのかどうか確認する手段がありません。

うーん、なんというか、今後解説書いたとしても、俺しか使わないし、俺しか使えないんじゃないか?これ(汗

効果は抜群だけどね。
video

あとは、、建物とかフォグとかが欲しいな。


BDxView080829.zip

sampleに入れて、アップロードしときました。でかい画面で見たい人はどうぞ。
少し加工したシェーダーはともかく、テクスチャは、何もいじってないのにそのまま転載はいかんだろうと思い、入れてません(解像度も足りないし)。とりあえず上記URLのサンプルにはいってるテクスチャをぶち込んでください。

テンキーの5でパースに変わります。パースじゃないとドームの中から見れないので注意。
Alt-Aでアニメーションです。

0 件のコメント: