In recent years, the subject of occlusion culling of large 3D environments has received substantial contribution. However the major amount of research into the area has focussed on occlusion culling of static scenes using spatial partitioning. The primary aim of all these schemes is to minimize the load on the GPU by reducing the number of primitives to be rendered. We present an efficient algorithm for visibility culling that supports static and dynamic scenes with equal ease with significant performance improvements over existing schemes. For a given camera position the status of the object nodes in an object hierarchy can be seen as a Visibility cut, the nodes of which are either outside the view frustum, or hidden or visible. We propose an efficient update scheme of this Visibility Cut while processing each frame, taking full advantage of the object hierarchy with spatial and temporal coherency. The whole scene walkthrough is modelled as a discrete event simulation where every cha...