Skip to main content
Log in

Occlusion Culling Algorithm Based on Software Visibility Checks

  • Published:
Programming and Computer Software Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1.
Fig. 2.
Fig. 3.
Fig. 4.
Fig. 5.
Fig. 6.
Fig. 7.
Fig. 8.
Fig. 9.
Fig. 10.

Similar content being viewed by others

REFERENCES

  1. Bittner, J. and Wonka, P., Visibility in computer graphics, Environ. Plann. B: Plann. Des., 2003, vol. 30, no. 5, pp. 729–755.

    Article  Google Scholar 

  2. 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.

    Article  Google Scholar 

  3. Greene, N., et al., Hierarchical Z-buffer visibility, Proc. 20th Annu. Conf. Computer Graphics and Interactive Techniques, 1993.

  4. Teller, S. and Sequin, C., Visibility preprocessing for interactive walkthroughs, Proc. SIGGRAPH, 1991, vol. 25, no. 4, pp. 61–69.

  5. Next generation occlusion culling. http://www.gamasutra.com/view/feature/164660/sponsored_feature_next_generation_.php?print=1.

  6. Greene, N., Hierarchical polygon tiling with coverage masks, Proc. 23rd Annu. Conf. Computer Graphics and Interactive Techniques, 1996, pp. 65–74.

  7. Zhang, H., et al., Visibility culling using hierarchical occlusion maps, Proc. 24th Annu. Conf. Computer Graphics and Interactive Techniques, 1997, pp. 77–88.

  8. Bittner, J., et al., Coherent hierarchical culling: Hardware occlusion queries made useful, Comput. Graphics Forum, 2004, vol. 23, no. 3, pp. 615–624.

    Article  Google Scholar 

  9. Chandrasekaran, C., et al., Software occlusion culling, 2013–2016. https://software.intel.com/en-us/articles.

  10. Guthe, M., et al., Near optimal hierarchical culling: Performance driven use of hardware occlusion queries, Proc. Eurographics Symp. Rendering, 2006, pp. 207–214.

  11. Mattausch, O., et al., CHC++: Coherent hierarchical culling revisited, Eurographics, 2008, vol. 27, no. 3.

  12. GLAPI/glBeginQuery. https://www.opengl.org/wiki/GLAPI/glBeginQuery.

  13. Macdonald, J.D. and Booth, K.S., Heuristics for ray tracing using space subdivision, Visual Comput., 1990, vol. 6, no. 6, pp. 153–165.

    Article  Google Scholar 

  14. 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.

    Google Scholar 

  15. Pharr, M., Jakob, W., and Humphreys, G., Physically Based Rendering: From Theory to Implementation, Morgan Kaufmann, 2016.

    Google Scholar 

  16. 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.

    Article  Google Scholar 

  17. 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.

    Article  MathSciNet  Google Scholar 

  18. 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.

    Google Scholar 

  19. Software occlusion culling sample application. https://github.com/GameTechDev/OcclusionCulling.

  20. Marschner, S. and Shirley, P., Fundamentals of Computer Graphics, CRC Press, 2015, 3rd ed., pp. 45–49.

    MATH  Google Scholar 

  21. Gonakhchyan, V., Comparison of hierarchies for occlusion culling based on occlusion queries, Proc. Conf. Computer Graphics and Vision (GraphiCon), 2017, pp. 32–36.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to V. I. Gonakhchyan.

Additional information

Translated by Yu. Kornienko

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1134/S0361768820070038

Navigation