i've found some cases where my current frustum cull algo is a bit too aggressive.
is there a good / best generalized frustum cull algo that works pretty well for all cases, even things like large finite planes that span the frustum ?
preferably on the simpler side to implement. (of course! <g>)
worst case, i'd be doing maybe 50,000 culls per frame. a typical complex scene is currently about 15,000 cull calls per frame.
the current algo does some trivial rejection of stuff "behind" the camera, a far clip range rejection test, then does bounding sphere vs near, far, left and right planes, but not upper or lower (as there's usually little to cull above or below). it was originally designed for 1st person view, and works quite well there.
but i've found that in 3rd person view, zoomed all the way out (about ten meters), looking straight down, it appears that the terrain chunks "behind" the camera can sometimes get clipped when they should not. most likely when near a chunk edge.
so before i crack open the hood and start ripping at the guts of this puppy to fix it, i thought i'd see what the pros has to say.
i'm thinking bounding spheres vs all 6 planes, but they could be imprecise for large (~300 unit) planes (terrain chunks). also, i'm not sure about special cases like spanning and such. i recall some stuff like that from the last time i played with the frustum cull. the current algo is the 5th in the game so far.
so is there a handy silver bullet algo out there?
bspheres and special cases is my best bet?
reading this over, it just occurred to me that the cliprange and far plane tests are redundant. but a horizontal range clip upstream of the frustum cull is of little use looking up or down.
so i guess add arbitrary camera angles to the list of desirable features, along with all shapes, and all cases. i hope for too much, i suspect....