Graphics‎ > ‎3D‎ > ‎Visibility‎ > ‎

Culling

Eeny, meeny, miny, moe

Culling is when you try to reject objects that can not be seen as soon as possible. Objects in this case can be any amount of surfaces.

Distance Cull
Object that are to far away do not have to be drawn. How far is to far depends on the size of the object, the bigger the object the further it should be seen.

Bounding volume
Wrap the object in a basic primitive such as a sphere or a cube and check if that is visible to the camera. If not it does not have be drawn.
Potentially Visible Sets
A PVS is precomputed visibility data in some form. If you stand in zone x you can see zone a, c and g.

Octree/Quadtree
By putting a object in a tree (quad/oct) one can cull the nodes in the tree and get a list of the visible objects. Each time the objects move they need to update the position in the tree.

Portals
By splitting the world into sectors (think rooms) and portals (think doors) one can cull away non visible sectors. If a portal leading to a sector is not visible then nothing in the sector is visible and does not have to be drawn. If you see the portal then all portals need to visible inside the first for you to be able to see further away sectors. Like a house with doors really.

Early version of portal engines had convex sectors to simplify the hidden surface removal.

Comments