Visibility Precomputation with RTX Ray Tracing

Thomas Bernhard Koch, Michael Wimmer
2021
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
more » ... siert 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.
doi:10.34726/hss.2021.79729 fatcat:fpvru3ewtjgt7pamassi3xt7yq