Koch, T. B. (2020). Visibility precomputation with RTX ray tracing [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2021.79729
E193 - Institut für Visual Computing and Human-Centered Technology
-
Date (published):
2020
-
Number of Pages:
89
-
Keywords:
Computergrafik; Sichtbarkeit; Raytracing
de
Computer graphics; Visibility; Ray tracing
en
Abstract:
Die Sichtbarkeitsberechnung ist ein typisches Problem im Feld der Computergraphik. Beispiele sind Occlusion Culling, bei dem verdeckte Teile der Szene verworfen werden, um die Performance zu steigern, oder auch die Berechnungen von globalen Beleuchtungseffekten, die auf der Sichtbarkeiten von Punktpaaren basieren. In dieser Arbeit wird ein aggressiver Sichtbarkeitsalgorithmus, Guided Visibility Sampling++, der die Sichtbarkeit von einer Fläche ausgehend berechnet, vorgestellt. Der Algorithmus basiert auf Guided Visibility Sampling und verbessert diesen, wodurch eine genauerere Lösung in kürzerer Zeit berechnet werden kann. Eine Kombination von verschiedenen Algorithmen und intelligenten Abtaststrategien werden verendet, um mittels Raycasting eine Menge an Dreiecken zu ermitteln, die von einer flachen oder volumetrischen Region aus sichtbar ist. Diese gefundene Menge an Dreiecken wird Potentially Visible Set (PVS) genannt. Der vorgestellte Algorithmus findet Dreiecke effizient durch initiales Zufallsabtasten der Szene und anschließend ausgeführte intelligente Erkundungsstrategien. Der Algorithmus terminiert durch ein Abbruchkriterium. Eine moderne Implementierung, basierend auf der Vulkan API und RTX Raytracing wird präsentiert. Unsere GPU-basierte GVS++ ist über vier Größenordnungen schneller als die ursprüngliche CPU-basierte Implementierung von GVS. Experimente auf verschiedenen Szenen zeigen, dass die vorgestellte Technik schneller und genauer ist als vergleichbare Techniken.
de
Visibility computation is a common problem in the field of computer graphics. Examples include occlusion culling, where parts of the scene are culled away, or global illumination simulations, which are based on the mutual visibility of pairs of points to calculate lighting. In this thesis, an aggressive from-region visibility technique called Guided Visibility Sampling++ (GVS++) is presented. The proposed technique improves the Guided Visibility Sampling algorithm through improved sampling strategies, thus achieving low error rates on various scenes, and being over four orders of magnitude faster than the original CPU-based Guided Visibility Sampling implementation. We present intelligent sampling strategies that use ray casting to determine a set of triangles visible from a flat or volumetric rectangular region in space. This set is called a potentially visible set (PVS). Based on initial random sampling, subsequent exploration phases progressively grow an intermediate solution. A termination criterion is used to terminate the PVS search. A modern implementation using the Vulkan graphics API and RTX ray tracing is discussed. Furthermore, optimizations are shown that allow for an implementation that is over 20 times faster than a naive implementation.