In computer graphics, Visibility deals with the problem of rendering faster by rendering only the objects of the scene that can be seen.
Existing solutions along that line employed in modern day 3D/game-engines are mostly based either on Portals or on Quake style PVS (potentially visible set). While these approaches have been successfully employed in commercial products for years, they nonetheless have considerable drawbacks:

  1. Both approaches are not suited for outdoor scenes (except scenes which are technically indoor-scenes).
  2. It is hard to automatically place portals efficiently, so it normally has to be done by hand.
  3. Portals are by nature a very conservative visibility approximation.
  4. Portals are not suited for dynamic occluders.
  5. For maximum efficiency Quake style PVS is usually done on a scene stored in a BSP tree, which, amongst other drawbacks, is a scene data structure not well suited for dynamically changing scenes.
  6. Quake style PVS precalculation can take prohibitively long.

The GTP VisibilityLib will overcome these problems with a 2-phase strategy:

  1. A solution which supplies precalculated visibility based on modern visibility research, also suited for outdoor scenes.
  2. A solution which efficiently employs modern day graphic hardware to deliver on-the-fly visibility with minimal overhead.

 Both solutions work best when used together, but can also be employed independently from one another, as to best suit the 3D/game engine in use.

 

city_highestres_noseam

overview_highestres

city_vis_highestres_aa