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.