This topic is now archived and is closed to further replies.


Let's talk about....Occlusion Culling

Recommended Posts

Hybrid Umbra (a.k.a. RenderWare dPVS):

Download the demos from there.
Also download the reference manual, they describe their technique and design choices in great detail. It also contains a PhD thesis on occlusion culling. VERY interesting and impressive stuff if you''re interested in occlusion.

Simon O''''Connor
Creative Asylum Ltd

Share this post

Link to post
Share on other sites
I just made a brute-force solution: world is divided into sections/nodes/grids (no matter if octree or quadtree or bsp. Every grid stores a list of visible grids. So during runtime just the visible nodes are rendered. The grid size defines then the tradeoff between memory and overdraw.

This solution is comparable to the Renderware link S1CA mentioned before. It is not that sophisticated, but is fast to implement and solves the problem good enough for a hobbyist
Furthermore, the problems of tree traversals for viewing frustum estimation can be rejected, you just take the node list and check which of these nodes are in sight which can be done by simple vector dot products, much faster than tree traversals.

A problem remains: the offline list generation of which grids are visible from other grids. Here I will follow the RenderWare idea of drawing all grids in a unique color and check the final image for those colors to see which grids are visible.

Occlusion culling of geometry hided behind dynamic objects is not included in this solution and needs extra attention - which I simply ignore.

- thomas

Share this post

Link to post
Share on other sites
We use hierarchical occlusion maps for our game engine. They are very efficient, both in terms of performance and culling efficiency. They also allow occluder fusion, an extremely important feature if you have lots of very small and complex geometry. It doesn''t need an octree and there is no preprocessing involved either. In one of our scenes, a city model of over 10 million faces, it culls around 90% of the geometry in almost no time.

There is a paper about it, it''s called "Effective Occlusion Culling for the Interactive Display of Arbitrary Models" by Hansong Zhang.

Don''t know where to D/L it though, you''ll have to search for it.

A.H aka Blueshift

Share this post

Link to post
Share on other sites