![]() |
||
![]() |
8/25 VS/PSを使ってみる-2 今日は影を付けてみました。 ああ、やっぱり影があると情緒が違いますね。お父さんの中の人もさぞ喜んでいる事でしょう。 お父さんの表情もなんだかイキイキした感じですね。
でも、影が切れたり体がギサギザになったりします。お父さんの中の人もなかなか大変そうです。でもモミアゲが付いたみたいに見えるのがちょっと気に入ってるようですね。 …と、いうわけでシャドウマップを使って影を付けてみました。 手持ちのRadeon9600では、デプスステンシルバッファをテクスチャとして生成できないのですが、代わりにといいますか、Rチャネルだけ32ビット浮動小数(D3DFMT_R32F)とか、RGBA各32ビット浮動小数(D3DFMT_A32R32G32B32F)とかの物騒なカラーバッファを生成できます。で、今回はR32Fテクスチャにして、シャドウマップとして使っちゃいました。 やり方としては、
2と3は本来分ける必要は無いのですが、分けないと、「Cook-Torranceのシェーディングを施した後、シャドウマップを参照して…」といった具合に、今まで書いたVS/PS全部に影付けのためのコードを加える必要があるので、計算コスト的には優しくないのですが、シーン本体のためのパスと影付けのためのパスを別々にしました。 原理はクラシカルな方法なんですが、シャドウマップ自体の精度は高いはずなんです。でも、ギサギサの影とか色々でてしまいますね。まぁ、何の事は無い、シャドウマップの精度ではなく解像度の問題はどうしてもつきまとうわけです。はい。でもシャドウマップが1024x1024とかにならいと、あんまり綺麗な出力になりません。きっとなんとかするコツみたいなのがあるに違いない。 ともあれ、ポリゴン数がモリモリ増えるシャドウボリュームってあんまり好きではないし、シャドウマップでなるべくなんとかしたいところです。影のくせに本体よりポリゴン食うというのがそもそも納得行かなかったり。これもハード重視の日本人体質なんでしょうか。 やっぱり、現状ではPlanarProjectedとか使ったほうがいいのかなぁ〜 フォトリアリスティックレンダレングとかいいつつ、ちょっとリアルに影付けたらいきなりガタガタに遅くなりますた、とかいうのもカッコ悪いもんですね。 やっぱ丸影でいいよ、というのはダメですか。そうですか。 |
|
![]() |