視錘台カリング

で、今のところレンダリングパイプラインの設計やら実装を模索中なのですが、ちょっと重くなってきたので基本的な最適化方法を実装していこうと思います。まずは、視錘台カリング。要するに、見えないやつは描かないってのです。
こんな感じ。

実際にレンダリングされるのはこんな感じ

空間には512+6個のオブジェクトを配置してあります。まじめにレンダリングするとRadeon9600XTでもFPSが5も出ないよ〜
ちゃんと判定してやれば22は出るみたいです。ただ、計測してみるとカリングにかかってる時間が1msecほどなのであんまりこれに頼りすぎるのもなぁ。可視判定処理の最適化も必要ですね。
とりあえず、バウンディング球と平面4つで判定しています。小さいオブジェクトならいいけど、大きいオブジェクトだと角の部分ではじけなさそう。


空間分割とかも検討しよう。まぁ、ここは未踏の本題ではないので適当でいいか。