Abstract
Rendering of 3D scenes with a large number of objects is computationally intensive. Occlusion culling methods are used to improve rendering performance by reducing the number of objects to be processed on the GPU. In this paper, we consider occlusion culling methods that employ spatial and temporal coherence of visibility. Some of the most efficient methods are based on hardware occlusion queries. However, recording of occlusion queries and receiving their results for a large number of objects can take considerable time. We propose an algorithm that removes occlusion query transmission overhead by performing occlusion checks on the CPU against a depth buffer downloaded from the GPU. The proposed algorithm is compared with widespread algorithm based on hardware occlusion queries. It improves rendering performance of 3D scenes with a large number of objects by reducing the number of transmitted rendering commands.
Similar content being viewed by others
REFERENCES
Bittner, J. and Wonka, P., Visibility in computer graphics, Environ. Plann. B: Plann. Des., 2003, vol. 30, no. 5, pp. 729–755.
Cohen-Or, D., et al., A survey of visibility for walkthrough applications, IEEE Trans. Visualization Comput. Graphic, 2003, vol. 9, no. 3, pp. 412–431.
Greene, N., et al., Hierarchical Z-buffer visibility, Proc. 20th Annu. Conf. Computer Graphics and Interactive Techniques, 1993.
Teller, S. and Sequin, C., Visibility preprocessing for interactive walkthroughs, Proc. SIGGRAPH, 1991, vol. 25, no. 4, pp. 61–69.
Next generation occlusion culling. http://www.gamasutra.com/view/feature/164660/sponsored_feature_next_generation_.php?print=1.
Greene, N., Hierarchical polygon tiling with coverage masks, Proc. 23rd Annu. Conf. Computer Graphics and Interactive Techniques, 1996, pp. 65–74.
Zhang, H., et al., Visibility culling using hierarchical occlusion maps, Proc. 24th Annu. Conf. Computer Graphics and Interactive Techniques, 1997, pp. 77–88.
Bittner, J., et al., Coherent hierarchical culling: Hardware occlusion queries made useful, Comput. Graphics Forum, 2004, vol. 23, no. 3, pp. 615–624.
Chandrasekaran, C., et al., Software occlusion culling, 2013–2016. https://software.intel.com/en-us/articles.
Guthe, M., et al., Near optimal hierarchical culling: Performance driven use of hardware occlusion queries, Proc. Eurographics Symp. Rendering, 2006, pp. 207–214.
Mattausch, O., et al., CHC++: Coherent hierarchical culling revisited, Eurographics, 2008, vol. 27, no. 3.
GLAPI/glBeginQuery. https://www.opengl.org/wiki/GLAPI/glBeginQuery.
Macdonald, J.D. and Booth, K.S., Heuristics for ray tracing using space subdivision, Visual Comput., 1990, vol. 6, no. 6, pp. 153–165.
Meissner, M., et al., Generation of decomposition hierarchies for efficient occlusion culling of large polygonal models, Vision, Model., Visualization, 2001, vol. 1, pp. 225–232.
Pharr, M., Jakob, W., and Humphreys, G., Physically Based Rendering: From Theory to Implementation, Morgan Kaufmann, 2016.
Morozov, S., Semenov, V., Tarlapan, O., and Zolotov, V., Indexing of hierarchically organized spatial-temporal data using dynamic regular octrees, Lect. Notes Comput. Sci., 2018, vol. 10742, pp. 276–290.
Zolotov, V.A., Petrishchev, K.S., and Semenov, V.A., Methods of spatial indexing of dynamic scenes based on regular octrees, Program. Comput. Software, 2016, vol. 42, no. 6, pp. 375–381.
Semenov, V.A., Kazakov, K.A., and Zolotov, V.A., Effective spatial reasoning in complex 4D modeling environments, eWork and eBusiness in Architecture, Engineering and Construction, Mahdavi, A., Martens, B., and Scherer, R., Eds., London: CRC Press, 2015, pp. 181–186.
Software occlusion culling sample application. https://github.com/GameTechDev/OcclusionCulling.
Marschner, S. and Shirley, P., Fundamentals of Computer Graphics, CRC Press, 2015, 3rd ed., pp. 45–49.
Gonakhchyan, V., Comparison of hierarchies for occlusion culling based on occlusion queries, Proc. Conf. Computer Graphics and Vision (GraphiCon), 2017, pp. 32–36.
Author information
Authors and Affiliations
Corresponding author
Additional information
Translated by Yu. Kornienko
Rights and permissions
About this article
Cite this article
Gonakhchyan, V.I. Occlusion Culling Algorithm Based on Software Visibility Checks. Program Comput Soft 46, 454–462 (2020). https://doi.org/10.1134/S0361768820070038
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1134/S0361768820070038