Information
- Publication Type: Bachelor Thesis
- Workgroup(s)/Project(s):
- Date: October 2020
- Date (Start): October 2019
- Date (End): October 2020
- Matrikelnummer: 01627767
- First Supervisor:
- Keywords: culling, real-time, GPU
Abstract
Real-time occlusion culling is a valuable tool to increase the performance of real-time rendering applications by detecting and removing invisible geometry from the rendering pipeline. Through new rendering Application Programming Interface (API) like Vulkan and modern hardware, these culling algorithms can become even more powerful. This thesis tries to ensure and evaluate the performance of Coherent Hierarchical Culling Revisited (CHC++) in this new environment by performing various optimisations to the algorithm. The changes include the batching of consecutive draw-calls and occlusion queries into single GPU-queue submits to reduce the overhead on the CPU and GPU. Additionally, the support for alpha blended transparent objects was added to the algorithm, which allows for correct culling and rendering of these objects. The algorithm performs great in environments with high occlusion and does not degrade in performance in the worst case scenario. But the high performance increase of the original implementation could not be replicated, which is attributed to the difference in rendering APIs and hardware improvements.Additional Files and Images
Weblinks
No further information available.BibTeX
@bachelorsthesis{pernsteinre_jakob_2020_eechc, title = "Ensuring the Effectiveness of CHC++ in Vulkan", author = "Jakob Pernsteiner", year = "2020", abstract = "Real-time occlusion culling is a valuable tool to increase the performance of real-time rendering applications by detecting and removing invisible geometry from the rendering pipeline. Through new rendering Application Programming Interface (API) like Vulkan and modern hardware, these culling algorithms can become even more powerful. This thesis tries to ensure and evaluate the performance of Coherent Hierarchical Culling Revisited (CHC++) in this new environment by performing various optimisations to the algorithm. The changes include the batching of consecutive draw-calls and occlusion queries into single GPU-queue submits to reduce the overhead on the CPU and GPU. Additionally, the support for alpha blended transparent objects was added to the algorithm, which allows for correct culling and rendering of these objects. The algorithm performs great in environments with high occlusion and does not degrade in performance in the worst case scenario. But the high performance increase of the original implementation could not be replicated, which is attributed to the difference in rendering APIs and hardware improvements.", month = oct, address = "Favoritenstrasse 9-11/E193-02, A-1040 Vienna, Austria", school = "Research Unit of Computer Graphics, Institute of Visual Computing and Human-Centered Technology, Faculty of Informatics, TU Wien ", keywords = "culling, real-time, GPU", URL = "https://www.cg.tuwien.ac.at/research/publications/2020/pernsteinre_jakob_2020_eechc/", }