Terrain-Rendering und Level-of-Detail auf der GPU

Vortrag von Christopher Kaag am 28.1.2014
Terrain-Rendering und Level-of-Detail auf der GPU WS2013

Moderne Grafikkarten können problemlos 2 Millionen Dreiecke bei hohen Frameraten rendern. Selbst wenn jedes Dreieck auf dem Bildschirm nur einen Pixel groß wäre, reichte es damit für HD-Auflösungen bei 60 FPS und mehr. Warum sollten wir uns also (Gedanken machen) Polygone (zu) sparen? Weil die meisten Polygone überhaupt nicht sichtbar sind!

Ein Grund kann Verdeckung durch andere Polygone sein. Culling-Verfahren versuchen, solche Polygone im Vorfeld heraus zu filtern. Ein anderes Problem kann allerdings die hohe Distanz zu Dreiecken sein: Weit entfernte Dreiecke können auf dem Bildschirm deutlich weniger als einen Pixel groß sein. In vielen Fällen wollen wir uns den Aufwand durch solche Dreiecke sparen, in dem wir weit entfernte Polygone zu einem einzelnen zusammenfassen (der Unterschied ist auf dem Ergebnisbild nicht mehr wahrzunehmen). Verfahren, die uns dies erlauben nennen wir “Level of Detail”-Techniken.

Ein Sonderfall für solche Techniken ist Terrain: Eine realitätsnahe Abbildung eines ganzen Kontinents kann Terabyte an Daten verursachen, mit einer entsprechend hohen Anzahl an Polygonen. Wir müssen hier viele entfernte Polygone einsparen, aber auch darauf achten, dass der Betrachter den Unterschied und den Übergang zwischen Detailstufen nicht bemerkt. Wir betrachten deshalb zunächst die Möglichkeiten, wie wir Terrain repräsentieren können, und was wir bei der Darstellung von Terrain im Allgemeinen beachten müssen.

Tessellation ist für Level-of-Detail-Techniken, einschließlich derer für Terrain, ein wertvolles Werkzeug; mit dieser ist es möglich, Primitive, wie Dreiecke, in weitere Polygone aufzuteilen. Wie wir dies nutzen können, um die Anzahl an Polygonen gemäß der Entfernung zu variieren, wird der Kernpunkt dieses Vortrags werden.

Kurz gesagt werden die Besonderheiten von Terrain angesprochen, gefolgt von einem Einschub zum Thema Tessellation, und wie sie uns für Terrain-Darstellung helfen kann. Zum Abschluss werden wir uns Grenzen und Alternativen zu dieser Technik anschauen; u.a. auch, wie Ray-Tracing uns einen Geschwindigkeitsvorteil gegenüber Rasterisierung bringen kann.

Literatur

Bildnachweis