A visibility ordering of a set of objects, from a given viewpoint, is a total order on the objects such that if object a obstructs object b, then b precedes a in the ordering. Such orderings are extremely useful for rendering volumetric data. We present an algorithm that generates a visibility ordering of the cells of an unstructured mesh, provided that the cells are convex polyhedra and nonintersecting, and that the visibility ordering graph does not contain cycles. The overall mesh may be nonconvex and it may have disconnected components. Our technique employs the sweep paradigm to determine an ordering between pairs of exterior (mesh boundary) cells which can obstruct one another. It then builds on Williams' MPVO algorithm [33] which exploits the ordering implied by adjacencies within the mesh. The partial ordering of the exterior cells found by sweeping is used to augment the DAG created in Phase II of the MPVO algorithm. Our method thus removes the assumption of the MPVO alg...
Cláudio T. Silva, Joseph S. B. Mitchell, Pe