![]() |
||
![]() |
8/26 VS/PSを使ってみる-3
影を改良しました。 あと、スナップショットだと分かりづら過ぎるんですが、地面のエッジにもギザギザした影が出来ていたのがなくなりました。 IF氏のサイトを参考にしたところによると、なんでもシャドウマップを作るときはカリングの方向を逆、つまり、普通は画面に対して左回りの三角形がカリングされるのに対して、右回りの三角形をカリングすることで、裏面の情報だけをシャドウマップに書き込むんだそうで。なるほど、ポリゴン1枚で作られている地面とかの影は作られなくなります。キレイキレイ。 フレームレートが妙に上がっていますけど、シャドウマップの解像度を半分にしたためです。解像度が高くなくても、モミアゲ状のギサギザがあんまり出ません。その点だけお父さんも寂しそうですね。
それから、お父さんの足元のように、影の落ちる面と光源をさえぎる部分が近い部分は正確に影を付けづらいという問題があります。シャドウマップの精度は前回お話したように、Radeon9600では32ビット浮動小数で取れるため充分といえるのですが、解像度の問題によって影が出来たと誤認される部分を低減するため、ある程度のマージンを持って判定をします。 マージン無しで厳密に判定すると、物体の表面にはギサギサの影がしばしば現れる事になります。陰になっている部分なので更に影がついても分かりづらいので、Photpshopのトーンカーブで補正したのが左下の図です。
ともかく、足元はバッチリなんですけど、背中が煤けてしまうんです。あくまでこれを「セルフシャドウです」と言い張るのもテですけど。 トゥーンシェーディングとか施してるような作品だったら、まぁこれはこれで味なのかもしれません。ただ、視点とかモデルの角度のが動くと模様もジリジリと不規則に変化するので、見てて愉快かはまた別の問題なんですが〜。 で、今日は影のほかにKo-Taさんと昼にお会いしたときに話題になった、被写界深度ブラーも実装しようかと思ったんですが、Radeonではデプスステンシルサーフェスをテクスチャとして作成できないので、DoubleSTEAL式に、
という事が出来ないんです。なので、
つまり、描画パスが余計に1個増えます。コンチクショウ。やっぱり爆プさんのGtSM式にカメラの視線をちょっとずらした結果をブレンドするしかないんかのー。道理でATIにFoVデモとかないわけですね。CopyRectsもDirectX9で無くなっちゃったので、全く同じシーンを3回も書き直すのはいかにもバカらしいことです。 深度バッファくらいPSから普通に読めたってバチあたらんやろ、とも思うんですが…はて。 |
|
![]() |