Förderjahr 2023 / Projekt Call #18 / ProjektID: 6863 / Projekt: Potree-Next
Seit den ersten 3D-Tiles und Punktrendering Prototypen hat sich einiges in Bezug auf Polishing, User Interface und Performance getan. Den von SITN zur Verfügung gestellten Testdatensatz mit 3D-Tiles und Punktwolken in Neuchatel können wir mittlerweile problemlos in Potree-Next darstellen.
Einer der wichtigsten Performanceaspekte an denen wir in den letzten Monaten gearbeitet haben ist dabei der Speicherverbrauch der 3D-Tiles. Durch die unkomprimierten Texturen und Geometrie benötigen die sichtbaren Tiles eine erhebliche Menge an Grafikkartenspeicher, wodurch wir nur jeweils die aktuell sichtbaren Tiles im Speicher behalten können + einige der most-recently-used (MRU) Tiles, d.h. Tiles die erst vor kurzem noch sichtbar waren. Eine gewisse Menge MRUs behalten wir im Speicher da diese sehr wahrscheinlich wieder sichtbar werden wenn Benutzer durch die Szene navigieren. Die least-recently-used Tiles werden hingegen regelmässig aus dem Speicher entfernt um Platz für neue Tiles zu schaffen. Für den Neuchatel Datensatz können wir den Speicherverbrauch so auf etwa 1-2 GB limitieren, auch bei aktiver Bewegung durch die Szene.
Für Punktwolkenrendering haben wir zudem MSAA implementiert, als alternative zum High-Quality-Shading (HQS). HQS liefert sehr gute visuelle Qualität indem es die Farbwerte von Punkten mit ähnlicher Tiefe im selben Pixel mittelt. Der Nachteil von HQS ist, dass es die Renderzeit in etwa verdoppelt da alle Punkte zwei mal gerendert werden müssen - Einmal um einen Tiefenbuffer zu generieren, und ein zweites mal um den Mittelwert von Punkten mit ähnlicher Tiefe berechnen zu können. Multisample anti-aliasing (MSAA) ist hingegen eine sparsamere Alternative die zudem direkt von GPUs unterstützt wird. Normalerweise wird der Farbwert eines Pixels anhand einer Sampleposition im Zentrum des Pixels ermittelt. MSAA verbessert die Qualität indem es nicht einen einzigen sondern mehrere Samples pro Pixel evaluiert und das Ergebnis aller Samples mittelt. Im Vergleich zu HQS benötigt 4xMSAA (4 Samples) nur etwa 20% mehr Performance. Die Farbqualität kommt nicht an die von HQS heran, ist aber dennoch deutlich besser und rauschärmer als normales Rendern ohne jegliches Antialiasing.
Neuchatel als 3D-Tiles Datensatz:
Punktwolkenaufnahme von Neuchatel: