Quakes vorkalkulierte Sichtbarkeit: Entschlüsselung des PVS-Algorithmus

2025-01-10

Dies ist der erste Teil der Serie „Entschlüsselung des PVS“, in der untersucht wird, wie die Quake-Engine die Rendering-Leistung mithilfe vorkalkulierter Sichtbarkeitsmengen (PVS) optimiert hat. Mitte der 1990er-Jahre machten die Einschränkungen des Software-Renderings die Reduzierung von Overdraw entscheidend. Quake verwendete ein Portalsystem und PVS, um dieses Problem zu lösen. Portale teilen die Welt in Zellen auf; die Engine rendert nur die Zellen, die für die Kamera sichtbar sind, und andere, die durch Portale sichtbar sind. Der PVS-Algorithmus berechnet während der Kartenkompilierung eine Liste sichtbarer Zellen für jede Zelle, wodurch komplexe Sichtbarkeitsprüfungen zur Laufzeit vermieden und die Rendering-Effizienz deutlich verbessert wird. Dieser Artikel geht detailliert auf die Implementierung des PVS-Algorithmus ein, einschließlich der Portaldefinitionen, der Rolle des BSP-Baums und der drei Schritte des Algorithmus: Basis-Sichtbarkeit, vollständige Sichtbarkeit und Ergebnisauflösung.