Occlusion Culling Using Hardware-Based Occlusion Queries

Information

  • Publication Type: Master Thesis
  • Workgroup(s)/Project(s):
  • Date: July 2003
  • First Supervisor: Michael Wimmer
  • Keywords: real-time rendering, occlusion queries, occlusion culling

Abstract

Today, a major challenge of computer graphics is the generation of realistic images at rates that arouse the impression of fluid motion in the viewer. Of central importance in this context is the application of specialized hardware, which has experienced an impressive evolution in recent years, increasing both speed and functionality in a significant fashion. However, displaying complex scenes like whole cities requires dealing with such an amount of data, that dedicated acceleration algorithms are still necessary in order to cope with the tight temporal constraints. In doing so, methods for detecting invisible parts of the scenery play a key role. A particular challenge is classifying those objects in an efficient way which are invisible due to being entirely occluded by other objects in front of them. Although this visibility problem belongs to the classical tasks of computer graphics, just recently introduced extensions to the graphics hardware permit the design of new algorithms with fascinating opportunities, but also requirements that have been of no concern to previous approaches.

This master thesis deals with the task of developing an efficient algorithm for solving the visibility problem for arbitrary scenes, which is tailored towards the NV_occlusion_query OpenGL extension, in different ways:

One method approximates the potential occlusion within a given scenery from a certain viewpoint by constructing a directed acyclic graph, which is in turn used to be able to issue as many occlusion queries as possible in a concurrent fashion. Several extensions amend and improve the core algorithm by employing a more equal load balancing and exploiting both temporal and spatial coherence. Finally, this approach is extended by incorporating an appropriate spatial hierarchy.

Although this technique is by and large significantly superior to rendering without occlusion culling, the obtained results are not satisfactory in every respect. Therefore, a second approach is proposed that does not rely on any graph. This hierarchical algorithm depends entirely on the visibility classification of previous frames and stresses thus the aspect of temporal coherence. Even though it is considerably simpler than the first approach, it yields superior and generally convincing results.

Both approaches are conservative (which means that they do not affect the correctness of the resulting image), but can easily be modified in a way that permits to trade off quality for speed by tolerating precisely definable mistakes.

Additional Files and Images

Weblinks

No further information available.

BibTeX

@mastersthesis{PIRINGER-2003-HBOQ,
  title =      "Occlusion Culling Using Hardware-Based Occlusion Queries",
  author =     "Harald Piringer",
  year =       "2003",
  abstract =   "Today, a major challenge of computer graphics is the
               generation of realistic images at rates that arouse the
               impression of fluid motion in the viewer. Of central
               importance in this context is the application of specialized
               hardware, which has experienced an impressive evolution in
               recent years, increasing both speed and functionality in a
               significant fashion. However, displaying complex scenes like
               whole cities requires dealing with such an amount of data,
               that dedicated acceleration algorithms are still necessary
               in order to cope with the tight temporal constraints. In
               doing so, methods for detecting invisible parts of the
               scenery play a key role. A particular challenge is
               classifying those objects in an efficient way which are
               invisible due to being entirely occluded by other objects in
               front of them. Although this visibility problem belongs to
               the classical tasks of computer graphics, just recently
               introduced extensions to the graphics hardware permit the
               design of new algorithms with fascinating opportunities, but
               also requirements that have been of no concern to previous
               approaches.  This master thesis deals with the task of
               developing an efficient algorithm for solving the visibility
               problem for arbitrary scenes, which is tailored towards the
               NV_occlusion_query OpenGL extension, in different ways:  One
               method approximates the potential occlusion within a given
               scenery from a certain viewpoint by constructing a directed
               acyclic graph, which is in turn used to be able to issue as
               many occlusion queries as possible in a concurrent fashion.
               Several extensions amend and improve the core algorithm by
               employing a more equal load balancing and exploiting both
               temporal and spatial coherence. Finally, this approach is
               extended by incorporating an appropriate spatial hierarchy. 
               Although this technique is by and large significantly
               superior to rendering without occlusion culling, the
               obtained results are not satisfactory in every respect.
               Therefore, a second approach is proposed that does not rely
               on any graph. This hierarchical algorithm depends entirely
               on the visibility classification of previous frames and
               stresses thus the aspect of temporal coherence. Even though
               it is considerably simpler than the first approach, it
               yields superior and generally convincing results.  Both
               approaches are conservative (which means that they do not
               affect the correctness of the resulting image), but can
               easily be modified in a way that permits to trade off
               quality for speed by tolerating precisely definable
               mistakes.",
  month =      jul,
  address =    "Favoritenstrasse 9-11/E193-02, A-1040 Vienna, Austria",
  school =     "Institute of Computer Graphics and Algorithms, Vienna
               University of Technology ",
  keywords =   "real-time rendering, occlusion queries, occlusion culling",
  URL =        "/research/publications/2003/PIRINGER-2003-HBOQ/",
}