Preview

Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS)

Advanced search

Occlusion culling algorithm based on software visibility checks

https://doi.org/10.15514/ISPRAS-2018-30(2)-5

Abstract

Rendering of 3D scenes with big number of objects is computationally intensive. Occlusion culling methods are used to decrease the number of handled objects. We consider interactive occlusion culling methods that have spatial and time coherence. We propose algorithm to increase rendering performance by using occlusion checks implemented in software mode. We propose heuristic to determine hierarchy level that corresponds to the most efficient occlusion checking. The algorithm is compared with the algorithm based on hardware occlusion queries. Checking for occlusion on CPU avoids transmission overhead between CPU and GPU and as a result improves rendering performance of 3d scenes with big number of objects. Section 1 provides an overview of related work as well as general purposes of given paper and its structure. Section 2 describes the basic formulas that are used in software rasterization and visibility checks. Section 3 describes the proposed algorithm for removing invisible surfaces. Section 4 presents the results of comparing the performance of the proposed algorithm and the algorithm based on hardware visibility requests. Section 5 summarizes the main conclusions.

About the Author

V. I. Gonakhchyan
Ivannikov Institute for System Programming of the RAS
Russian Federation


References

1. Bittner, J. and Wonka, P., 2003. Visibility in computer graphics. Environment and Planning B: Planning and Design, Vol. 30, No.5, pp.729–755.

2. Cohen-Or D. et al, 2003. A survey of visibility for walkthrough applications. IEEE Transactions on Visualization and Computer Graphic,Vol. 9, No. 3, pp. 412–431.

3. Greene, N. et al, 1993. Hierarchical Z-buffer visibility. Proceedings of the 20th annual conference on Computer graphics and interactive techniques. ACM.

4. Teller, S., Sequin, C., 1991. Visibility preprocessing for interactive walkthroughs. Computer Graphics (Proceedings of SIGGRAPH 91), 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 (accessed 09.04.2018).

6. Greene, N., 1996. Hierarchical polygon tiling with coverage masks. Proceedings of the 23rd annual conference on Computer graphics and interactive techniques. pp. 65–74.

7. Zhang, H. et al, 1997. Visibility culling using hierarchical occlusion maps. Proceedings of the 24th annual conference on Computer graphics and interactive techniques. pp. 77–88.

8. Bittner, J. et al, 2004. Coherent hierarchical culling: Hardware occlusion queries made useful. In Computer Graphics Forum, Vol. 23, No.3, pp. 615–624.

9. Chandrasekaran C. et al, 2013–2016. Software Occlusion Culling. https://software.intel.com/en-us/articles/ (accessed 09.04.2018).

10. Guthe, M. et al, 2006. Near Optimal Hierarchical Culling: Performance Driven Use of Hardware Occlusion Queries. In Eurographics Symposium on Rendering. pp. 207–214.

11. Mattausch, O. et al, 2008. CHC++: Coherent Hierarchical Culling Revisited. EUROGRAPHICS, Vol. 27, No. 3.

12. GLAPI/glBeginQuery. https://www.opengl.org/wiki/GLAPI/glBeginQuery (accessed 09.04.2018).

13. Macdonald, J. D., Booth, K. S., 1990. Heuristics for ray tracing using space subdivision. Visual Computer, Vol. 6, No. 6, pp. 153–165.

14. Meissner, M. et al, 2001. Generation of Decomposition Hierarchies for Efficient Occlusion Culling of Large Polygonal Models. In Vision, Modeling, and Visualization, Vol. 1, pp. 225–232.

15. Pharr M., Jakob W., Humphreys G. Physically based rendering: From theory to implementation. Morgan Kaufmann, 2016, 1233 p.

16. Morozov S., Semenov V., Tarlapan O., Zolotov V. (2018) Indexing of Hierarchically Organized Spatial-Temporal Data Using Dynamic Regular Octrees. In: Petrenko A., Voronkov A. (eds) Perspectives of System Informatics. PSI 2017. Lecture Notes in Computer Science, vol 10742, pp. 276–290.

17. Zolotov V.A., Petrishchev K.S., Semenov V.A. Methods of spatial indexing of dynamic scenes based on regular octrees. Programming and Computer Software, vol. 42, No. 6, 2016, pp. 375–381. DOI: 10.1134/S0361768816060098

18. V.A. Semenov, K.A. Kazakov, V.A. Zolotov. Effective spatial reasoning in complex 4D modeling environments. // eWork and eBusiness in Architecture, Engineering and Construction, eds. A.Mahdavi, B. Martens, R. Scherer, CRC Press, Taylor & Francis Group, London, UK, 2015, pp. 181–186.

19. Software Occlusion Culling Sample Application. https://github.com/GameTechDev/OcclusionCulling (accessed 09.04.2018).

20. Marschner, S. and Shirley, P., 2015. Fundamentals of computer graphics (3rd ed.). CRC Press, pp.45–49.

21. Gonakhchyan V. Comparison of hierarchies for occlusion culling based on occlusion queries. In Proceedings of the GraphiCon 2017 conference on Computer Graphics and Vision, pp. 32-36.


Review

For citations:


Gonakhchyan V.I. Occlusion culling algorithm based on software visibility checks. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2018;30(2):81-98. (In Russ.) https://doi.org/10.15514/ISPRAS-2018-30(2)-5



Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)