Original Post
Hi, I'm looking for an approach to do occlusion culling based on bounding spheres. I have a big outdoor scene with hundreds of objects, that I only want to load into memory if they are potentially visible. I have already implemented a fast frustum culling algorithm based on the bounding spheres of the objects. The objects themselves are only loaded into memory (and rendered) if the bounding sphere is within the view frustum. Now I wonder if it could be possible to use the bounding spheres also to check if an object is occluded by other objects. I was thinking of rendering all objects in the view frustum from front to back in this way: (1) Clear the backbuffer (or offscreen rendertarget) (2) Loding the first (nearst) object into memory and render it (3) Check if the bounding sphere of the next object is completely occluded (4) If it's partially visible, load object into memory and render it, else skip object (5) Repeat steps (3) and (4) for each object in the view frustum But I guess, using this approach would be even slower than simply loading and rendering all objects because I have to check every pixel (in the area of the projected bounding sphere) in the render output for visibility. Because I render from front to back, it's just an simple alpha test, but in the worst case, I have to compare all pixels. How could I improve this kind of occlusion culling? It's very important that the occlusion culling is made with bounding spheres, because loading them from disc does take much more time than the actual rendering. Christian