• Keine Ergebnisse gefunden

4.2 Modelldaten

4.2.3 Progressive Approximation von Modellinstanzen

Die eben beschriebenen Möglichkeiten der Reduktion der Modellgeometrie mit Hilfe hierar-chischer Billboards reicht noch nicht aus, um große, sehr komplexe Landschaftsszenarien interaktiv darstellen zu können. Denn selbst bei einfachen Billboards müssen noch acht tex-turierte Eckpunkte pro Objektinstanz gezeichnet werden.

Es gilt die Annahme, dass bei unserer Königslutter-Beispielszene von einem bestimmten Be-trachterstandpunkt aus von den insgesamt 306,5 Millionen Einzelpositionen nur 10 Millio-nen EinzelpositioMillio-nen sichtbar sind. Dies entspräche einem Darstellungsaufwand von mindes-tens 80 Millionen Eckpunkten. Wobei schnell klar wird, dass davon die meisten Eckpunkte während des Zeichenprozesses von der Grafikhardware verworfen werden, da sie sowieso nicht sichtbar sind.

Somit wäre der alleinige Einsatz von Billboards höchst ineffizient. Es muss also nach Mög-lichkeiten gesucht werden, die Geometrie der Szene in großer Entfernung zum Betrachter weiter zu vereinfachen, ohne den Eindruck einer natürlich wirkenden Landschaft zu gefähr-den. Die wichtigste Überlegung dabei ist, dass wir von einer Geometriereduktion auf Basis

Abbildung 20: Geometriem odell, einfaches Billboardmodell, k-means-Clustering und hierarchisches Clustering

Kapitel: Aufbereitung und Verarbeitung der Daten 59 4.2 Modelldaten

jedes einzelnen Modells zu einer Komplexitätsreduktion auf Basis größerer zusammenhä n-gender Vegetationsbereiche wechseln müssen. Es wird also nicht länger nur die Geometrie eines einzelnen Objektes approximiert, sondern die Geometrie ganzer Objektgruppen zu-sammengefasst.

Bei meinen Überlegungen machte ich mir die Erfahrungen und Ergebnisse der beiden schon angesprochenen Arbeiten [1] und [28] bezüglich Punkt- und Linienapproximation zu Nutze.

Es wurde gezeigt, dass vor allem Punktprimitive sehr gut dafür geeignet sind, komplexe he-terogene Geometriestrukturen, wie sie bei den meisten Pflanzenmodellen zu finden sind, zu approximieren. In der Arbeit „The Randomized z-Buffer Algorithm: Interactive Rendering of Highly Complex Scenes“ [33] wurde dieser Ansatz bereits auch verfolgt und umgesetzt. Die Grundidee dieser Arbeit und deren Umsetzung möchte ich an dieser Stelle nur kurz und ver-einfacht darlegen. Die Motivation für meine Wahl eines alternativen Ansatzes lässt sich aus der Veröffentlichung nur schwer herleiten, da der Ansatz für meinen Hauptkritikpunkt leider innerhalb der Publikation nur sehr unzureichend beschrieben wurde. Er lässt sich aus den dargestellten Testergebnissen jedoch zweifelsfrei herleiten.

Beim zufallsgesteuerten Z-Buffer-Algorithmus gelten alle Dreiecke der Szene als Ausgangs-punkt und Grundlage aller nachfolgenden Berechnungen. In einem Vorverarbeitungsschritt werden die Dreiecke anhand der Merkmale Lage, Ausrichtung und Größe klassifiziert, in ent-sprechende Gruppen eingeteilt und hierarchisch sortiert. Hier bietet sich zum ersten Mal Anlass zur Kritik an, da in der Publikation keine näheren Angaben zum genauen Vorgang der Klassifikation und Sortierung während der Vorverarbeitungsphase gemacht werden.

Der nächste große Schritt ist die dynamische Auswahl zufälliger Referenzpunkte, die die urs-prüngliche Geometrie der hierarchischen Dreiecksgruppen gut nachbilden. Dazu wird mit Hilfe eines Approximationsalgorithmus bestimmt, wie viele Referenzpunkte nötig sind, um eine bestimmte Bildqualität zu erreichen. Hierzu wird ein Projektionsfaktor ermittelt. Dieser Wert gilt als Messgröße für die Ausdehnung und Komplexität von Dreiecksgruppen vom Standpunkt des Betrachters aus. Dreiecken aus Gruppen mit entsprechend großem onsfaktor werden mehr Referenzpunkte zugeteilt als Dreiecksgruppen mit kleinem Projekti-onsfaktor.

Während der Darstellung wird die gesamte Szene mit Auswahlboxen gitterartig ausgelegt.

Die Berechnung der Boxen erfolgt bei jeder Änderung des Betrachterstandpunktes neu. Die zugrunde liegende Gitterstruktur ist dabei im Nahbereich engmaschiger als im Fernbereich.

Somit werden in der Nähe des Betrachters mehr Referenzpunkte eingefügt als in den Teilen der Szene mit größerem Abstand. Mit Verfahren der Bildinterpolation müssen anschließend die Räume zwischen den Punkten aufgefüllt werden. Eine Rekonstruktion auf Bildpunktbasis arbeitet am genauesten und liefert die visuell besten Ergebnisse. Der Nachteil ist der größere Berechnungsaufwand. Schnellere Ergebnisse werden deswegen mit sogenannten Visibility

Kapitel: Aufbereitung und Verarbeitung der Daten

60 4.2 Modelldaten

Splatting-Ansätzen erreicht. Jedoch darf die Ausdehnung der Splats nicht zu groß gewählt werden, da sonst der visuelle Bildeindruck zu stark darunter leidet.

Mit Hilfe von intelligenten Cache-Strategien kann die Bildwiederholrate des Verfahrens noch weiter gesteigert werden. Dabei werden Gruppen von Referenzpunkten zwischengespei-chert und bei nur geringfügigen Änderungen des Betrachterstandpunktes mehrfach verwen-det. Dadurch kann eine Menge Rechenzeit eingespart werden. Der Ansatz lässt sich außer-dem problemlos mit der herkömmlichen Z-Buffer-Berechnung von Geometrie kombinieren.

Denn bei der Darstellung großflächiger Dreiecke bietet diese klassische Methode Vorteile, da ansonsten vor allem im Nahbereich mit einer großen Anzahl von Referenzpunkten gearbeitet werden müsste, um visuell vergleichbare Ergebnisse zu erreichen.

In der Arbeit von M. Wand et al. werden abschließend folgende Ergebnisse für die interakti-ve Darstellung komplexer Landschaftsszenarien aufgezeigt:

Auf der linken Seite von Abbildung 21 ist ein Vergleich zwischen dem zufallsgesteuerten Z-Buffer-Ansatz (links) und einer Bildrekonstruktion mittels Gauß-Verfahren (rechts) abgebil-det. Die Gesamtkomplexität der Szene beträgt rund 140 Billionen Dreiecke. Auf der rechten Seite von Abbildung 21 ist eine weniger synthetische Landschaftsszene dargestellt. Die Komplexität des Szenarios beläuft sich hierbei auf etwa 410 Millionen Dreiecke.

Die guten bis sehr guten Bildwiederholraten, die bei beiden Szenarien mit Hilfe des Ansatzes erreicht werden, möchte ich in meiner Kritik jedoch nicht thematisieren. Vielmehr möchte ich auf die Probleme des Speicherverbrauchs beim Schritt der Klassifikation und Sortierung der Eingangsdatenmenge eingehen. Wie erwähnt enthält die Veröffentlichung leider nur sehr wenige Angaben über die Vorberechnungsphase, gerade bezüglich des Speicherbedarfs in Abhängigkeit zur Komplexität und Zusammensetzung der Dreiecksdaten. Einen ersten An-haltspunkt liefert die Menge an benötigtem Speicher zur Verwaltung der vorberechneten Daten.

Abbildung 21: uniforme Bepflanzung mit Gitterstruktur und diffuse Verteilung von Pflanzenmodellobjekten, Quelle [33]

Kapitel: Aufbereitung und Verarbeitung der Daten 61 4.2 Modelldaten

Für das uniforme Szenario werden 36 MB Speicher und eine Vorberechnungszeit von 21 Se-kunden aufgeführt. Bei der diffusen Verteilung werden 137 MB Speicher benötigt und die Berechnungszeit beträgt 123 Sekunden. Ich möchte nun die einzelnen Faktoren, die meiner Meinung nach zu diesen Ergebnissen führen, aufzählen und daraus Schlussfolgerungen zie-hen.

Die Eingangsdatenmenge aller Dreiecke wird anhand deren Lage, Ausrichtung und Fläche klassifiziert und hierarchisch in Gruppen sortiert. Es ist davon auszugehen, dass Dreiecks-mengen, aus denen auf Grund ihrer Zusammensetzung nur einige wenige Gruppen gebildet werden, weniger Speicher und Berechnungszeit benötigen. Bei der synthetischen Land-schaftsszene wird dies anhand der Abbildung schnell deutlich. Die Szene besteht im Grunde nur aus einer enormen Anzahl an Instanzen ganzer vier verschiedener Einzelindividuen. Di e-se vier Einzelobjekte sind dabei pro Instanz immer exakt gleich groß und gleich ausgerichtet und haben auf Grund der regelmäßigen Gitterstruktur einen identischen Abstand zueina n-der. Somit ist diese Szene optimal auf die Klassifikationsfaktoren Lage, Ausrichtung und Flä-che abgestimmt. Dies schlägt sich dann auch im relativ geringen SpeiFlä-cherverbrauch von 36 MB nieder.

Es darf an dieser Stelle nicht unerwähnt bleiben, dass laut der Veröffentlichung 5.9 Millia r-den Instanzen die Gesamtheit der synthetischen Szene bilr-den. Jede Instanz besteht dabei aus einer Gruppe von vier Baummodellen mit insgesamt 23.300 Dreiecken. Wenn das diffuse Landschaftsszenario aus etwa 410 Millionen Dreiecken besteht, lässt sich leicht herleiten, dass hierbei nur noch rund 71.000 Modellinstanzen zum Einsatz kommen, da die verwende-ten Pflanzenmodelle die gleichen sind. Interessant ist nun, dass für die diffuse Szene 137 MB Speicherverbrauch anfallen und eine Berechnungszeit von 123 Sekunden erreicht wird, ob-wohl die Gesamtkomplexität der Szene fünf Zehnerpotenzen kleiner ist.

Bei näherer Betrachtung ist dieses Ergebnis jedoch nachvollziehbar. Die Variabilität der für die Klassifikation und Gruppierung verantwortlichen Faktoren ist bei dieser natürlicheren Anordnung der Pflanzenmodelle weitaus größer als bei der synthetischen Szene. Daraus folgt direkt eine größere Anzahl an Dreiecksgruppen und eine entsprechend komplexere Hier-archiestruktur, die verwaltet werden muss. Trotzdem ist auch das zweite Szenario weit von komplexen naturnahen Vegetationsverteilungen entfernt. Den vier einzelnen Pflanzenmo-dellen mit ihren knapp 71.000 Instanzen stehen bei meinem Königslutter-Szenario über 250 Modelle mit mehr als 300 Millionen Instanzen gegenüber. Dabei unterscheiden sich die von mir verwendeten Pflanzenobjekte wesentlich stärker voneinander als die vier Baummodelle.

Somit dürfte die Menge an notwendigen Dreiecksgruppierungen anhand der Klassifikations-parameter weitaus größer sein.

Die Menge an benötigtem Speicherplatz lässt sich indes nur schwer abschätzen, da in der Veröffentlichung von M. Wand et al. kaum Angaben zum Prozess der Vorberechnung g e-macht werden. Abhängig davon, welche der wenigen bekannten Eckdaten man für eine

gro-Kapitel: Aufbereitung und Verarbeitung der Daten

62 4.2 Modelldaten

be Schätzung heranzieht, dürfte der Speicherplatzbedarf etwa um den Faktor 10 bis 100 hö-her liegen als bei der diffusen Beispielszene. Er läge also im Bereich von 1.3 bis 13 GB und wäre somit vollkommen indiskutabel für meine praxisorientierten Anwendungszwecke.

Der von mir erarbeitete Ansatz skaliert deshalb in Bezug auf den Speicherverbrauch nicht auf Grundlage der Anzahl, Lage, Ausrichtung und Größe der vorkommenden Dreiecke. Vielmehr richtet sich der benötigte Speicherplatz nur nach der geografischen Ausdehnung des Ge-samtszenarios.

Die jahrelange Arbeit mit realen Vegetationsdaten hat mir gezeigt, dass bis zu 97 Prozent aller Modellinstanzen eines beliebigen Szenarios aus Pflanzenobjekten bestehen, die kleiner als einen Meter sind. Deshalb erscheint es mir sinnvoll, mich bei der Suche nach alternativen Darstellungsmöglichkeiten zur Approximation der bestehenden Geometrie auf diese niedri-gen Bewuchsschichten zu konzentrieren. Für große Sträucher und Bäume werde ich wä h-rend der Darstellung des Fernbereichs auf die hierarchischen Billboards zurückgreifen.

Ich werde nachfolgend die notwendigen Schritte zur Approximation mehrerer Modellinstan-zen näher erläutern. Die SModellinstan-zene wird dazu in Kacheln unterteilt. Für jede einzelne Kachel wer-den aus der Draufsicht mit Hilfe einer Orthogonalprojektion drei Texturen erstellt. Die ers te Textur enthält die Farbinformationen der auf der Kachel befindlichen Kleinvegetation. In den beiden anderen Texturen werden jeweils die Tiefenwerte der Pflanzenverteilung und des Geländemodells abgespeichert. Da in den Tiefentexturen nur relative Höhenwerte im Inter-vall [0,1] gespeichert werden, müssen pro Kacheldatensatz noch Offsetwerte für die minima-len absoluten Höhenwerte des Terrains und der Vegetation vermerkt sein. Nur so ist eine genaue Höhenwertrekonstruktion während des Darstellungsprozesses möglich.

In Abbildung 22 werden diese einzelnen Phasen der Texturgenerierung pro Kachel noch ein-mal bildlich verdeutlicht.

Für die Kachelgrundfläche wird nun eine zweidimensionale Punktmenge erzeugt. Auf die notwendigen Eigenschaften dieser Punktmenge werde ich am Ende dieses Abschnitts eing e-hen, um die Überleitung zum nachfolgenden Abschnitt herzustellen. Diese Punktmenge wird dann in Form von Punktprimitiven während der Darstellung des Fernbereichs als

Approxima-Abbildung 22: Draufsicht der Vegetation, Tiefenbild der Pflanzenverteilung und Farbtextur des gleichen Ausschnitts

Kapitel: Aufbereitung und Verarbeitung der Daten 63 4.2 Modelldaten

tion der gesamten Vegetation der ganzen Kachel dienen. Das genaue Zusammenspiel zwi-schen den Punkten und den Texturen werde ich im vierten Kapitel näher erläutern.

Wichtig ist an dieser Stelle nun eine Abschätzung des Speicherverbrauchs, um den Vorteil gegenüber der Arbeit von M. Wand et al. herauszuarbeiten. Diese Beispielrechnung möchte ich wieder anhand des Königslutter-Szenarios vornehmen.

Die Fläche des Geländes wird in 16x16, also 256 Kacheln unterteilt. Für jede Kachel werden drei Texturen mit einer Auflösung von 256x256 Bildpunkten angelegt. Eine Textur enthält Farbwerte (3 Byte pro Bildpunkt), die anderen beiden Texturen enthalten Tiefenwerte (4 Byte pro Bildpunkt). Somit haben wir pro Kachel einen Speicherplatzbedarf von 704 KB. Für die Gesamtszene ergibt sich daraus ein Speicheraufkommen von 176 MB. Dazu kommen noch einige wenige Megabyte (etwa 5 bis 6) für die Punktmengen. Nun kann in die Berech-nung des Speicherplatzbedarfs noch folgende Überlegung einfließen. Für die in den Texturen erfasste Kleinvegetation gilt eine obere Wachstumsgrenze von 1,25 Metern. Um diese ma-ximale Höhe ausreichend genau quantisieren zu können, reichen 256 Quantisierungsstufen vollkommen aus (entspricht etwa einer minimalen Auflösung von 0,5 Zentimetern). Der Speicherbedarf für diese Textur lässt sich also von 4 Byte auf 1 Byte reduzieren, wodurch der Speicherverbrauch für die Texturen nur noch bei 134 MB liegt. Somit lässt sich festhalten, dass ich für eine hochkomplexe Landschaft wie die Königslutter-Szene nur knapp 140 MB Speicher für die Approximation größerer Modellinstanzengruppen benötige, unabhängig von der Komplexität der Vegetation innerhalb des Szenarios.

Es stellt sich noch die Frage, welche Eigenschaften die Punktmenge haben muss, um spei-chereffizient verarbeitet werden zu können und visuell gute Ergebnisse zu liefern. Wenig Speicher wird verbraucht, wenn für jede Kachel keine neue Punktmenge angelegt wird, son-dern wenn bestehende zweidimensionale Punktmengen anderer Kacheln wiederverwendet werden können. Visuell ansprechende Ergebnisse können aber nur garantiert werden, wenn innerhalb der Punktmenge für eine Kachel keine regelmäßigen Punktanordnungen vorliegen.

Außerdem dürfen bei der Mehrfachverwendung von Punktmengen für verschiedene Kacheln keine Wiederholungen und Überschneidungen an den Kachelgrenzen sichtbar werden.

Ich benötige also ein überschaubares Set an Punktmengen, die sich aperiodisch auf benach-barten Kacheln verteilen lassen. Jede Punktmenge für sich darf außerdem keine regelmäßige Struktur aufweisen, muss die Kachelfläche jedoch gleichmäßig ausfüllen. Letztendlich soll garantiert sein, dass die Anzahl der Punkte pro Punktmenge stufenlos reduziert werden kann, ohne dass die eben aufgeführten Eigenschaften verloren gehen. Die Lösung für all die-se Anforderungen bieten Dichte-progressive Punktmengen die auf Wang-Tile-Kacheldie-sets angeordnet werden und eine Blue-Noise/Poisson-Disk-Charakteristik aufweisen.

Im folgenden Abschnitt werde ich die Verwendung von Punktmengen mit exakt diesen Ei-genschaften genauer beschreiben. Dabei ist anzumerken, dass in Abschnitt 4.3 Punktmengen

Kapitel: Aufbereitung und Verarbeitung der Daten