Patchbasiertes Level-of-Detail für dynamische Anwendungen

Transcription

Patchbasiertes Level-of-Detail für dynamische Anwendungen
890
Patchbasiertes Level-of-Detail
für dynamische Anwendungen
Tobias HILLMANN
Dieser Beitrag wurde nach Begutachtung durch das Programmkomitee als „reviewed paper“
angenommen.
Zusammenfassung
Zur Darstellung komplexer Objekte mit Dreiecksnetzen sind patchbasierte Verfahren am
besten geeignet. Die Erzeugung der Datenstrukturen ist ein sehr aufwendiger Prozess und
wird derzeit mit relativ einfachen Techniken realisiert. Es wird ein neuer schneller Algorithmus vorgestellt, der Out-of-Core-Varianten der Greedy-Algorithmen für Dreiecksnetze
realisiert. Bei der Synthese von unterschiedlichen LoD-Präsentationen kommt es an den
Rändern zu Inkonsistenzen. Diese Fehler können mittels Vorwissen, Geomorphing oder
durch extrem dichte Triangulation beseitigt werden. Zur Beschleunigung der Darstellung
werden Patches in Strips aufbereitet, die Grafikkarten optimal genutzt und der Anteil verdeckter Geometrien minimiert.
1
Probleme
Bei der Visualisierung von komplexen Szenen treten eine Reihe von unterschiedlichen Problemen auf. Dass diese Szenen nicht mit direkten Verfahren interaktiv dargestellt werden
können, liegt einerseits in ungeeigneten Modellbildungen für solche Szenen, aber auch in
der Begrenzung des Arbeitsspeichers. Es fehlt eine Beschreibung für sehr komplexe Szenen, die eine Echtzeitvisualisierung für jeden Blickpunkt bietet und zugleich die Komplexität dieses Modells unter der Prämisse einer interaktiven Darstellung begrenzt. Das Problem
lässt sich durch kontinuierliche und dynamische Level-of-Detail-Techniken, aber auch
durch Impostor-Techniken lösen. Bei den kontinuierlichen, den dynamischen und adaptiven
LoD-Techniken wird der Detaillierungsgrad und damit auch der Speicherbedarf durch definierte Kriterien festgelegt. Der Speicherbedarf der LoD-Techniken korreliert mit dem Umfang der Originalbeschreibung des Objektes. In der Geoinformatik bezieht sich das LoD
i. d. R. auf größere Gebiete. In der Computergrafik werden die LoD hauptsächlich zur Präsentation von Einzelobjekten benutzt. Im Gegensatz dazu eignen sich die ImpostorTechniken besonders für die Präsentation großer, aus vielen Einzelobjekten zusammengesetzter Szenen in hoher Qualität. Nachteil der Impostor-Techniken ist der hohe Speicherbedarf. Zudem ist die Änderung des Detaillierungsgrades der Präsentation während der Präsentation nicht möglich.
In diesem Beitrag werden LoD-Techniken für Dreicksnetze anhand einer variierenden
Datenstruktur, der Out-of-Core-Erzeugung dieser Datenstruktur, die Selektion von Patches
für die Präsentationen, Inkonsistenzen beim Wechsel des LoD und die Beschleunigung der
Darstellung behandelt.
Strobl, J., Blaschke, T. & Griesebner, G. (Hrsg.) (2011): Angewandte Geoinformatik 2011.
© Herbert Wichmann Verlag, VDE VERLAG GMBH, Berlin/Offenbach. ISBN 978-3-87907-508-9.
Dieser Beitrag ist ein Open-Access-Beitrag, der unter den Bedingungen und unter den Auflagen der
Creative Commons Attribution Lizenz verteilt wird (http://creativecommons.org/licenses/by/3.0/).
Patchbasiertes Level-of-Detail für dynamische Anwendungen
1.1
891
Auswahl der Datenstruktur
Die LoD-Techniken für Dreiecksnetze lassen sich in diskrete und kontinuierliche Ansätze
unterscheiden. Insbesondere die Darstellung von komplexen Dreiecksnetzen bedingt eine
dem jeweiligen Blickpunkt angepasste Präsentation mit einer großen Anzahl von Dreiecken. Solche Präsentationen lassen sich insbesondere auf mobilen Geräten nur mit patchbasierten Ansätzen realisieren. Bei der blickpunktabhängigen Präsentation erfolgt die Anpassung bei den diskreten Ansätzen auf das gesamte Objekt. Bei den kontinuierlichen Ansätzen kann zwar auch die Präsentation dem Blickpunkt angepasst werden, jedoch kommt es
aufgrund der geringen Granularität zu einer hohen CPU-Auslastung. Die patchbasierten
Ansätze verschmelzen die Vorteile der diskreten und kontinuierlichen Ansätze der LoDTechniken und verringern gleichzeitig deren Nachteile. Im Gegensatz dazu erzeugen die
patchbasierten Ansätze hoch aufgelöste, blickpunktabhängige Präsentationen bei geringer
CPU-Last. Die patchbasierten LoD existieren als gerichtete azyklische Graphen von Patches (CIGNONI et al. 2003) und als Baum von Patches (BORGEAT et al. 2005). Jede Hierarchiestufe beschreibt ein definiertes diskretes LoD. Beide Ansätze haben Vor- und Nachteile. Beim Baumansatz können sich die Patches unterschiedlicher Level nicht überschneiden,
da jeder Knoten im Baum genau einen Vaterknoten hat. Jedes Patch mit einer hohen Detaillierung liegt innerhalb eines Patches mit niedriger Detaillierung. Diese Struktur erfordert,
dass beim Aufbau von Patches unterschiedlicher Detaillierung die Randknoten so konstruiert werden müssen, sodass eine geschlossene Oberfläche generiert werden kann. Beim gerichteten azyklischen Graphen können dagegen jedem Knoten mehrere Vaterknoten zugewiesen werden. Somit werden die verschiedenen Detaillierungen im Graph so definiert,
dass sich Patches unterschiedlicher Detaillierung überschneiden können. Diese Eigenschaft
ermöglicht die Generierung der Ränder der Patches eines LoD N im LoD N-1 bei der Konstruktion der Datenstruktur. Werden die Patches aus LoD N mit denen aus LOD N+1 verschnitten, können bei der Präsentation Gruppen von Teil-Patches durch ein Patch aus dem
LoD N+1 ersetzt werden. Die Anpassung der Patch-Ränder entfällt, da sie direkt ineinander
passen. Die Abfrage der Sichtbarkeitsinformation ist beim Baum-Ansatz unkomplizierter,
da jedem Knoten ein eindeutiger Vaterknoten zugeordnet wird und die Information an ganze Unterbäume vererbt wird. Hingegen ist bei gerichteten azyklischen Graphen eine Vererbung von Sichtbarkeitsinformationen nicht trivial, da jeder Knoten mehrere Vaterknoten
haben kann. Eine Vererbung ist nur dann möglich, wenn die Knoten alle eindeutig als
sichtbar oder unsichtbar klassifiziert worden sind. Aus diesem Grund erfordern die gerichteten azyklischen Graphen mehr Abfragen auf Sichtbarkeit.
1.2
Erzeugung der Datenstruktur
Die für komplexe Dreiecknetze mittels patchbasierten LoD erzeugten Datenstrukturen werden im langsameren externen Speicher (Out-of-Core) gespeichert. Der interne Speicher ist
nur schneller Zwischenspeicher, um die Prozesse zur Erzeugung der Datenstruktur zu beschleunigen. Zur Beschleunigung der Unterteilung auf dem externen Speicher können
Raumunterteilungsverfahren (CIGNONI et al. 2004, YOON et al. 2004) genutzt werden. Aufgrund der Unabhängigkeit von der betrachteten Oberfläche liefern diese Verfahren allerdings schlechtere Resultate als Algorithmen im internen Speicher. Bessere Ergebnisse können durch die Greedy-Algorithmen erzielt werden (HILLMANN 2006). Out-of-CoreAnwendungen der Algorithmen für die Unterteilung und Vereinfachung von Dreiecksnetzen im internen Speicher sind nicht sinnvoll, da immer die globale optimale Operation im
892
T. Hillmann
Dreiecksnetz ausgeführt wird. Da diese Operationen gleichmäßig im Netz verteilt sind,
werden ständig unterschiedliche Bereiche manipuliert. Da dadurch keine räumlichen Kohärenzen nutzbar sind, erhöht sich die Ausführungszeit der Algorithmen durch die hohen Latenzzeiten und die geringe Bandbreite beim Zugriff auf den externen Speicher um ein Vielfaches. Eine Möglichkeit Patch-Unterteilungen und Dreiecksnetzvereinfachungen schnell
zu realisieren ist aber die Ausnutzung der räumlichen Kohärenz. Bisher behilft man sich,
indem die Datenstrukturen mit simplifizierten Versionen der Algorithmen erzeugt werden,
die eine portionierte Bearbeitung der Daten im internen Speicher ermöglichen. Dies führt
allerdings zu einer schlechteren Qualität der Ergebnisse, ist aber plausibel, da bei nichtglobaler Betrachtung des Dreiecksnetzes es unmöglich ist, die Anzahl der Dreiecke mit gleichmäßiger Fehlerverteilung zu minimieren. Eine Lösung besteht in Out-of-Core-Verfahren,
die auf der Anwendung lokal optimaler Operationen basieren. Durch die intelligente Nutzung räumlicher Kohärenzen werden, identisch zum Greedy-Algorithmus, relativ schnell
Unterteilungen und Vereinfachungen erzeugt. Allerdings weist ein mit diesem Verfahren
erzeugtes Patch-Netz im allgemeinen sehr unregelmäßig geformte Ränder der Patches auf.
Das liegt daran, dass der Greedy-Algorithmen normalerweise nur lokale Optima als Ergebnis liefert. Die unregelmäßig geformten Ränder erhöhen den Aufwand beim Zusammensetzen von Patches in der Synthese und schränken zusätzlich die Vereinfachung der Geometrie
bei der Erzeugung der Datenstrukturen ein. Daher werden die Ränder in einem separaten
Schritt geglättet. Die Länge der Kanten des Patch-Netzes im darunter liegenden Dreiecksnetz können mit einem angepassten A*-Algorithmus minimiert werden (HILLMANN 2008).
1.3
Selektion der Patches für die Präsentation
Zur Visualisierung von patchbasierten LoD wird die hierarchische Datenstruktur derart geschnitten, dass die gesamte Oberfläche mit den dadurch selektierten Patches abgedeckt ist.
Der Schnitt hängt von Faktoren wie Wichtigkeit, Beleuchtung und Geschwindigkeit des
Objektes ab. Der wichtigste Fakt ist der Abbildungsfehler, der durch den Schnitt minimiert
werden soll. Dafür kann pro Patch ein Fehlerwert anhand des Fehlers im Objektraum und
dem Abstand zum Betrachter berechnet werden. Bei der Anwendung von Baum-Datenstrukturen kommt es beim Aufbau der Oberfläche zur Vermengung von Patches unterschiedlicher LoD. Durch die verschiedenen Dreiecksbildungen in den LoD passen die Patches nicht exakt zusammen und es kommt zu Fehlern (Lücken) in der Darstellung. Das
Problem wird durch eine Anpassung der Ränder zwischen Patches unterschiedlicher LoD
gelöst, z. B. indem die Eckpunkte zwischen benachbarten Clustern eines Levels von der
Simplifizierung ausgeschlossen werden (YOON et al. 2004) oder durch Geomorphing
(BORGEAT et al. 2005). Dabei wird jedem Eckpunkt jedes LoD N ein korrespondierender
Eckpunkt im LoD N-1 zugeordnet. Somit können die Eckpunkte zwischen zwei LoD interpoliert und die Ränder der Patches angepasst werden. Beim Schnitt durch die BaumDatenstruktur muss lediglich beachtet werden, dass sich benachbarte Patches um maximal
ein Level unterscheiden.
1.4
Inkonsistenzen beim LoD-Wechsel
Bei allen LoD-Ansätzen treten Inkonsistenzen beim Wechsel zwischen LoD-Stufen auf, so
bald ein Darstellungsfehler unter einem Pixel nicht gewährleistet werden kann. Dies gilt
auch für die patchbasierten Ansätze. Nach (CIGNONI et al. 2004) sind die Inkonsistenzen bei
den patchbasiertem LoD aufgrund der hohen möglichen Dreieckszahl sehr gering und kön-
Patchbasiertes Level-of-Detail für dynamische Anwendungen
893
nen vernachlässigt werden. Das Problem ist nicht gelöst, wird nur bei den unterschiedlichen
Ansätzen unterschiedlich stark gemindert. Das Geomorphing generiert nur eine rein geometrische Interpolation für weiche Übergänge (BORGEAT et al. 2005). Im Gegensatz dazu wird
von (YOON et al. 2004) im Quick-VDR Framework eine Sequenz von Vereinfachungen in
jedem Cluster gespeichert und zur Interpolation zwischen den LoD der Hierarchie genutzt.
Da das Geomorphing für dynamische Anwendungen zu langsam ist, wurden die Inkonsistenzen durch sehr viele Grafikprimitive minimiert. Bei sehr hoher Anzahl von Dreiecken ist
der Wechsel zwischen den verschiedenen LoD kaum noch sichtbar.
1.5
Beschleunigung der Darstellung
Neben der Generierung des aus der Blickpunkt-Abfrage optimalen LoD, existieren weitere
Möglichkeiten die Darstellung zu beschleunigen. Speicherbedarf und Darstellungszeit werden durch die Darstellung des Dreiecksnetzes mit hardwareoptimierten Strips verringert.
Auch durch die Anwendung der Sichtbarkeitsverfahren lässt sich die Darstellung beschleunigen. View frustum culling kann für einen patchbasierten Ansatz sehr einfach realisiert
werden, indem ein Hüllvolumen jedes Patch mit dem Ansichtsvolumen schneidet. Hingegen ist die Erkennung abgewandter oder verdeckter Bereiche deutlich aufwändiger. Die
Auslese verdeckter Bereiche wurde in (YOON et al. 2004) anhand der potenziell sichtbaren
Geometrie der jeweils vorherigen Darstellung realisiert. Allerdings korreliert der Nutzen
des occlusion culling stark mit der zeitlichen Kohärenz. In (HILLMANN 2006) wird ein Algorithmus zum occlusion culling vorgestellt, der unabhängig von zeitlichen Kohärenzen
arbeitet und Verdeckungen anhand niedriger LoD ermittelt.
2
Erzeugung und Darstellung von Patch-Bäumen
Ein Patch-Baum präsentiert verschiedene diskrete LoD eines Teils der zu beschreibenden
Oberfläche. Die diskreten LoD der jeweiligen Oberfläche finden sich dabei in den verschiedenen Level des Baumes wieder, wobei die Knoten eines Levels jeweils eine gewisse
Patch-Unterteilung des LoD darstellen. Aufgrund der Baum-Struktur überdecken alle zu
einem Knoten gehörenden Kindknoten den Bereich der betreffenden Oberfläche. Besteht
das LoD 0 nur aus einem Patch wird das gesamte Objekt mit einem einzelnen Patch-Baum
präsentiert. Andernfalls wird das Objekt durch mehrere Bäume beschrieben, d. h. dass die
diskreten LoD jeweils durch die Vereinigung der Patches eines Levels aller Bäume beschrieben werden. Patches innerhalb eines LoD des Baumes werden zudem durch ihre
Nachbarschaft miteinander verknüpft. Bei Beschreibungen mit mehreren Bäumen werden
auch benachbarte Patches des gleichen LoD in anderen Bäumen referenziert. Dies wird benutzt, um bei der Selektion von Patches den Unterschied des LoD angrenzender Patches in
der Präsentation auf einen Level zu begrenzen. Durch die Einführung dieser Bedingung ist
das Zusammensetzen von Patches verschiedener LoD einfacher. Wird gefordert, dass benachbarte Patches sich maximal um ein Level unterscheiden, reicht es aus, zu jedem Patch
eine Anpassung an die Nachbarpatches des jeweiligen Vaterknotens zu realisieren. Eine
größere Differenz der LoD benachbarter Patches ist einfach realisierbar, bedingt aber einen
höheren Speicheraufwand. In Praxis unterscheiden sich die Level benachbarter Patches selten um mehr als eine Stufe.
894
2.1
T. Hillmann
Erzeugung von Patch-Bäumen
Im Unterschied zu (BORGEAT et al. 2005) werden die Datenstrukturen vom höchsten LoD
generiert. Da mehr Out-of-Core-Operationen notwendig sind, ist die Erzeugung etwas aufwändiger, aber dadurch existieren mehr Interaktionsmöglichkeiten auf die Erzeugung der
Patches. Durch die Größe der Datensätze wurden Mergesort- und Heaps-Algorithmen für
externe Datenspeicher notwendig. Der Datensatz liegt als Dreiecksnetz vor. Die PatchBaum-Datenstruktur wird durch folgende Schritte erzeugt:
1. Erzeugen der Patch-Unterteilung
2. Glätten der Patch-Ränder
3. Erzeugen der Hierarchie-Level
3.1 Halbierung der Anzahl der Patches
3.2 Halbierung der Dreieckszahl
4. Optimierung der Datenstrukturen
Zuerst wird das originale Dreiecknetz unterteilt. Die Patches dieser Unterteilung bilden die
Blätter der erzeugten Patch-Bäume und bestehen aus der Geometrie des ursprünglichen
Dreiecksnetzes. Damit soll das Dreiecksnetz in ein Netz von gleich großen kompakten Patches unterteilt werden. Dies wird durch einen Out-of-Core-Algorithmus erreicht, der eine
Greedy-Unterteilung in Patches mit Ausnutzung räumlicher Kohärenzen erzeugt. Zur Verhinderung großer Formänderungen der Patches infolge der Vereinfachung der Geometrie
werden die Ränder des Patch-Netzes aus dem ersten Schritt geglättet. Dadurch haben spätere Simplifizierungen der Geometrie entlang der Ränder der Patches nur maginale Auswirkungen auf deren Form. Dann wird die Patch-Hierarchie aus dem ersten Patch-Netz erzeugt. Ausgehend vom Dreiecksnetz und der Patch-Unterteilung des Blattlevels werden die
jeweils übergeordneten Level der Hierarchie konstruiert. Jedes neue Level wird aus 50 %
der Patches und Dreiecke des vorherigen Levels konstruiert. Die Anzahl der Patches wird
wie üblich verringert, jedoch wird das Greedy-Verfahren für den internen Speicher genutzt.
Die Patches des neuen Levels sind Vaterknoten der Patches des untergeordneten Levels. Da
die Anzahl der Dreiecke in jedem Patch konstant sein soll, wird im neuen Level der Hierarchie, eine um 50 % der Dreiecke reduzierte Variante der Geometrie des untergeordneten
Levels gespeichert. Das Dreicksnetz wird durch das Greedy-Verfahren anhand der QEMFehlermatrizen vereinfacht. Dieser Out-of-Core-Algorithmus terminiert erst, wenn keine
weiteren Vereinigungen von Patches mehr möglich sind oder eine gegebene Anzahl von
Patches erreicht ist. Wenn alle Level erzeugt wurden, repräsentieren deren Wurzelknoten
die Patch-Bäume der Objektbeschreibung. Abschließend wird die Datenstruktur hinsichtlich des schnellen Zugriffs und der Vermeidung von Redundanzen optimiert. Da das Netz
mit dem half edge collapse-Verfahren simplifiziert wurde, sind viele Eckpunkte redundant
in mehreren Patches gespeichert und müssen gelöscht werden. Auch durch Speicherung des
Dreiecksnetzes in Form eines Index-Strips kann redundante Informationen verringert werden. Zur Steuerung der geometrischen Vereinfachung wurde die „Hausdorff Distanz“ benutzt, da die QEM-Fehlerwerte den tatsächlichen Fehler auf der Oberfläche stark überschätzen. Um schnelles Laden der Patches für die Darstellung zu ermöglichen ist es notwendig, die Reihenfolge der Patches in der Datei so zu verändern, dass die Anzahl der
wahlfreien und damit langsamen Lesezugriffe verringert wird. Bei der Synthese der Patches
in der finalen Präsentation müssen Randsegmente zwischen benachbarten Patches unterschiedlicher Level gesondert behandelt werden. Da es hier zu Inkonsistenzen in der Darstel-
Patchbasiertes Level-of-Detail für dynamische Anwendungen
895
lung kommen kann, werden im Vorfeld Informationen zu deren Beseitigung (Schließen von
Lücken) generiert.
2.2
Darstellung mit Patch-Bäumen
Ein durch Patch-Baum-Datenstruktur beschriebenes komplexes Objekt wird durch folgende
Schritte dargestellt:
1. Selektion der darzustellenden Patches
2. Nutzung von Sichtbarkeitsinformationen
3. Zusammensetzen der Patches
4. Darstellung
Zuerst werden die für eine angepasste Präsentation des Objektes geeigneten Patches selektiert. Für die blickpunktabhängige Synthese betrachtet man anstelle der zu jedem Patch gespeicherten Fehlerwerte im Objektraum die daraus resultierenden Fehler im Bildraum. Das
wichtigste Kriterium zur Wahl der Patches ist der Abstand zum Betrachter. Die Auswahl
der Patches bei der Synthese einer Präsentation des Objektes lässt sich durch Informationen
über die Sichtbarkeit von Knoten der Hierarchie, im Hinblick auf die Zahl der Dreiecke im
sichtbaren Bereich der Oberfläche optimieren. Ohne Berücksichtigung dieser Information
wird das Detail auf der Oberfläche im Ansichtsvolumen oft nur abhängig vom Abstand
dargestellt.
Abb. 1:
Selektion der darzustellenden Patches im Patch-Baum
In Abbildung 1 wird die Selektion von 10 Patches gezeigt. Soll Patch 6 detaillierter gezeigt
werden, so sind vorher 5 und 7 durch 1 und 4 zu ersetzen, da sich anderenfalls für Patch 2
und 3 eine nicht erlaubte LoD-Differenz von 2 ergeben würde. Werden nicht sichtbare Bereiche der Oberfläche des Objektes ermittelt, können diese von der aktiven Verfeinerung
bei der Synthese ausgenommen werden. Zur Abfrage nicht sichtbarer Teile des Objektes
sind view frustum culling und ein occlusion culling integriert. Auf backface culling wurde
896
T. Hillmann
verzichtet. Nach Auswahl der Patches für die Präsentation müssen die Randsegmente zwischen benachbarten Patches unterschiedlicher LoD angepasst werden. Während benachbarte Patches eines LoD immer exakt aneinander passen, können beim Aneinanderlegen benachbarter Patches verschiedener LoD Lücken entstehen. Zum Schließen dieser Lücken
wurden im Präprozess redundante Eckpunkte gefiltert. Durch den Austausch von Eckpunkten werden zusätzliche Fehler eingefügt. Da dieser Austausch nur an den Grenzen zu Patches mit einem geringeren LoD vorgenommen wird, die ohnehin höhere Fehler in der Darstellung aufweisen, ist die Auswirkung vernachlässigbar. Abschließend wird die Präsentation Patch für Patch von der Grafikhardware dargestellt. Da die Eckpunkte und Normalen
der Patches nicht veränderlich sind, werden sie in Speicherbereiche der Grafikhardware
ausgelagert. Dadurch beschleunigt sich die Darstellung, da diese Daten nicht bei jeder Darstellung erst an die Grafikhardware übertragen werden müssen.
2.3
Out-of-Core Darstellung von Patch-Bäumen
Die Ergebnisse der Untersuchung haben gezeigt, dass der entwickelte Algorithmus sowohl
bei der Erzeugung der LoD-Datenstrukturen, als auch bei der LoD-Darstellung komplexer
3D-Modelle den bekannten Verfahren mindestens gleichwertig ist. Der Algorithmus besitzt
wichtige Eigenschaften zur Verbesserung der Bilddarstellung gegenüber bekannten Techniken und erzeugt die Datenstrukturen schneller als alle anderen bekannten Techniken und
eignet sich so für mobile Anwendungen. Das Kriterium, mit dem sich die Erzeugung der
Datenstrukturen von bekannten Techniken abgrenzt, ist die konkrete Vorgehensweise. Im
Gegensatz zu anderen Techniken wird bei der Vereinfachung des Dreiecksnetzes die globale Greedy-Reihenfolge der lokalen Operationen eingehalten. Andere Techniken verarbeiten
das Dreiecksnetz dagegen nur ausschnittsweise und halten dadurch die globale Reihenfolge
der Vereinfachungen nicht ein. Dadurch kann es an den Grenzen der Ausschnitte zu Artefakten kommen, da über diese hinaus keine Vereinfachungen möglich sind. Auch bei der
Darstellung der Patch-Präsentationen sind die Ergebnisse dieser Arbeit mit aktuellen bestehenden Techniken vergleichbar. Nur (CIGNONI et al. 2005) erreicht einen etwas höheren
Durchsatz an Dreiecken in der Darstellung. Durch den einfachen Aufbau der Datenstruktur
kann occlusion culling leicht integriert werden. Durch die Erkennung verdeckter Bereiche
der Oberfläche wird die Effizienz der Darstellung erhöht, indem mehr Patches für die Präsentation der nicht verdeckten Bereiche der Oberfläche genutzt werden, was wiederum die
Bildqualität erhöht. Inkonsistenzen bei Änderungen der LoD-Präsentation während der
Exploration komplexer Objekte lassen sich nicht komplett vermeiden. Jedoch werden solche unerwünschten Artefakte weitestgehend durch die Verwendung vieler Dreiecke während der Darstellung vermieden. Durch Geomorphing lassen sich diese Artefakte vermeiden
(BORGEAT et al. 2005). Die dafür aufgewandten Ressourcen erfordern allerdings gleichzeitig eine Reduktion der Anzahl der dargestellten Grafikprimitive (auf 50 %), sodass weniger
Details in den blickpunktabhängigen Repräsentationen möglich sind. Die Integration von
Geomorphing in den Algorithmus ist problemlos möglich und sollte angewandt werden,
wenn die Vermeidung von Inkonsistenzen eine höhere Priorität hat als die Qualität der dargestellten Einzelbilder.
Patchbasiertes Level-of-Detail für dynamische Anwendungen
3
897
Fazit
Eine neuer Algorithmus zur Realisierung der Darstellung sehr komplexer 3D-Objekte mit
patchbasiertem LoD wurde vorgestellt. Insbesondere zur Erzeugung der Datenstrukturen
für die interaktive Darstellung eignet sich der Algorithmus, der nicht die Nachteile bestehender Out-of-Core-Techniken, verglichen mit Verfahren im internen Speicher, besitzt.
Damit werden Greedy-Verfahren auch Out-of-Core in der gleichen Qualität erzeugt wie im
internen Speicher. Die für die interaktive Darstellung notwendigen Daten lassen sich somit
in einer mit bekannten Verfahren vergleichbaren Zeit, aber höherer Qualität erzeugen. Die
Darstellung der Objekte mit Patch-Bäumen wurde um eine optionale Auswertung von Verdeckungsinformationen erweitert. Dazu werden Verdeckungen in einer groben Präsentation
erkannt und zur Synthese der sichtbaren Präsentation genutzt. Das Verfahren erhöht die
Anzahl der sichtbaren (nicht verdeckten) Grafikprimitive in der Darstellung und erhöht damit deren Qualität.
Literatur
BORGEAT, L., GODIN, G., BLAIS, F., MASSICOTTE, P. & LAHANIER, C. (2005): GoLD: interactive display of huge colored and textured models. ACM Transactions on Graphics,
24 (3), S. 869-877.
CIGNONI, P., GANOVELLI, F., GOBBETTI, E., MARTON, F., PONCHIO, F. & SCOPIGNO, R.
(2003): BDAM – Batched Dynamic Adaptive Meshes for High Performance Terrain
Visualization. Computer Graphics Forum, 22 (3), S. 505-514.
CIGNONI, P., GANOVELLI, F., GOBBETTI, E., MARTON, F., PONCHIO, F. & SCOPIGNO, R.
(2004): Adaptive TetraPuzzles – Efficient Out-of-Core Construction and Visualization
of Gigantic Polygonal Models. Proc. SIGGRAPH 2004, Vol. 23 of ACM Transactions
on Graphics.
CIGNONI, P., GANOVELLI, F., GOBBETTI, E., MARTON, F., PONCHIO, F. & SCOPIGNO, R.
(2005): Batched Multi Triangulation. Proc. IEEE Visualization. Conference held in
Minneapolis, USA, IEEE Computer Society Press.
HILLMANN, T. (2006): Adaptive Level of Detail with Occlusion Queries. SG 06: 6th International Symposium on SMART GRAPHICS. Vancouver, Canada.
HILLMANN, T. (2008): Fast, Faster – Dyn-Rendering: A New Rendering Process. Vortrag,
INTERGEO 2008, Bremen.
YOON, S.-E., SALOMON, B., GAYLE, R. & MANOCHA, D. (2004): Quick-VDR: Interactive
View-Dependent Rendering of Massive Models. IN VIS ’04: Proc. of the conference on
visualization ’04. S. 131-138. Washington DC, USA, IEEE Computer Society.

Documents pareils