Masterarbeit, 2012
114 Seiten, Note: 1,7
1. Einleitung
1.1. Problemstellung
1.2. Vorgehensweise
2. Volumenmodell
3. Zusammenhängende Entwicklung
3.1. Isosurface Generierung
3.2. Material
3.3. Höhenfeld basiertes Terrain
3.4. Volumenbasiertes Terrain
4. Dichtefunktion
4.1. 3D Texturen
4.2. Constructive Solid Geometry
4.2.1. Grundformen
4.2.2. Operatoren
4.2.3. Ein Constructive Solid Geometry Baum
5. Verfahren der Volumendarstellung
5.1. Dual Marching Cubes
5.1.1. Generierung des Octrees
5.1.2. Isolierung von Features
5.1.3. Bilden des Dualgitters
5.1.4. Konturierung des Dualgitters
5.2. Marching Squares Skirts
5.3. Material
5.3.1. Triplanare Texturierung
5.3.2. Normal Mapping
5.3.3. Beleuchtung
5.3.4. Nebel
5.4. Level of Detail
5.4.1. Aufbau des Chunkbaums
5.4.2. Chunkauswahl beim Zeichnen
6. OGRE
6.1. Google Summer of Code 2012
6.2. Wichtige Klassen für das Projekt
7. Softwarearchitektur
7.1. Aufbau des Chunkbaums
7.2. Auswahl der Chunks beim Zeichnen
7.3. Weitere Funktionen
8. Implementierung
8.1. Dichtefunktion
8.2. Chunkbaum
8.3. Material
8.4. Chunkauswahl beim Zeichnen
9. Abschlussbetrachtung
9.1. Leistungsfähigkeit
9.1.1. Ladezeit
9.1.2. Laufzeit
9.2. Ergebnis des Google Summer of Code 2012
9.3. Zukünftige Entwicklung
9.3.1. Entwicklung eines grafischen Editors
9.3.2. Paging
9.3.3. Constructive Solid Geometry
9.3.3.1. CSGXML
9.3.3.2. Rauschfunktion
9.3.3.3. Verbesserte CSG Operatoren
9.3.3.4. Matrix CSG
9.3.3.5. Weitere Grundformen
9.3.4. Schnitt mit Strahlen und den generierten Dreiecken
9.3.5. Material
9.3.5.1. Mehrere Textursets bei der triplanaren Texturierung
9.3.5.2. Ambient Occlusion
9.3.5.3. Parallax Occlusion Mapping
9.3.6. Verbesserung des Polygonnetzes
9.3.6.1. Implementierung von Marching Cubes 33
9.3.6.2. Extraktion von scharfen Kanten
9.3.6.3. Verbesserung der LOD-Wechsel
9.3.6.4. Reduzierung der Anzahl kleiner Dreiecke
9.4. Fazit
Das Hauptziel dieser Arbeit ist die Entwicklung und Implementierung eines effizienten Verfahrens zur Echtzeitdarstellung volumetrischer Daten, insbesondere von Terrain, unter Verwendung eines Level-of-Detail (LOD) Mechanismus. Dabei wird eine Lösung angestrebt, die komplexe Strukturen wie Überhänge oder Höhlen ermöglicht und durch eine hierarchische Baumstruktur sowie adaptive Triangulierung eine flüssige Bildrate bei der Darstellung großer Datenmengen sicherstellt.
1.2. Vorgehensweise
Zuerst wird das Kernkonzept der volumetrischen Modellierung beschrieben und dann ein Blick auf die zusammenhängende Entwicklung geworfen. Sie besteht aus den Themengebieten der Isosurface Generierung, des Materials, des Höhenfeld basierten und volumetrischen Terrain.
Bei der Dichtefunktion werden die zwei implementierten Möglichkeiten gezeigt, sie zu definieren. Um Daten „von Außen“ (z.B. aus einem Editor) darstellen zu können, sind 3D Texturen wegen ihrer Einfachheit ein praktisches Format, da sie zu jeder diskreten Koordinate einen Wert definieren. In diesem Fall stellt er die Dichte dar. Constructive Solid Geometry (CSG) ist mit Volumendaten einfach umzusetzen und hat viele Anwendungen. Einige Grundformen wie Kugeln, Ebenen und Kuben können mittels CSG mit Mengenoperationen (Vereinigung, Schnitt, Differenz, ...) in einem Binärbaum kombiniert werden [OM04, S. 157-158].
Das nächste Kapitel zeigt das entwickelte Verfahren zur Volumendarstellung. Anhand der Dichtefunktion werden mittels DMC Polygonnetze gebildet. Auftretende Lücken zwischen den Polygonnetzen schließen sich durch einer Variante von Marching Squares. Die Dreiecke bekommen anschließend ein Material zugewiesen. Aus einzelnen Polygonnetzen wird nun ein Baum beim LOD Verfahren gebildet, aus dem abhängig von der Kameraposition die zu zeichnenden Teile ausgewählt werden.
Es folgt eine Betrachtung der zur Implementierung ausgewählten Bibliothek Object-Oriented Graphics Rendering Engine (OGRE) 1. Das Projekt wurde im Google Summer of Code (GSoC) entwickelt und ist mittlerweile Bestandteil von OGRE.
Anschließend werden die Softwarearchitektur und die Implementierungsdetails erörtert.
1. Einleitung: Beschreibt die Motivation zur Verwendung von volumetrischem Terrain und führt in die Problemstellung sowie das Ziel der Arbeit ein.
2. Volumenmodell: Erläutert das Konzept der Dichtefunktion als Basis zur Definition von Volumendaten und das Prinzip der Isosurface-Extraktion.
3. Zusammenhängende Entwicklung: Gibt einen Überblick über existierende Methoden zur Isosurface-Generierung, Materialdarstellung und verschiedene Terrain-Rendering-Ansätze.
4. Dichtefunktion: Detailliert die zwei umgesetzten Datenquellen für das System: 3D-Texturen sowie Constructive Solid Geometry.
5. Verfahren der Volumendarstellung: Beschreibt den zentralen Algorithmus (Dual Marching Cubes), die Marching Squares Skirts zur Lückenschließung sowie die LOD-Steuerung.
6. OGRE: Stellt die verwendete Rendering-Bibliothek und den Kontext der Entwicklung im Rahmen des Google Summer of Code 2012 dar.
7. Softwarearchitektur: Dokumentiert das Design der Softwarekomponenten und deren Interaktion zur Erstellung des Chunkbaums.
8. Implementierung: Bietet technische Einblicke in die praktische Umsetzung der Dichtefunktionen, des Chunkbaums und der Materialsteuerung.
9. Abschlussbetrachtung: Evaluiert die Leistungsfähigkeit des Systems anhand verschiedener Testszenarien und diskutiert zukünftige Entwicklungsmöglichkeiten.
Volumendaten, Echtzeitdarstellung, Level of Detail, Terrain Rendering, Dual Marching Cubes, Octree, Constructive Solid Geometry, Triplanare Texturierung, Normal Mapping, OGRE, Chunkbaum, Geometrieoptimierung, Shaderprogrammierung, Polygonnetz, Grafik-Rendering
Die Arbeit befasst sich mit der Echtzeitdarstellung von komplexen Volumendaten, wobei der Fokus auf der Erzeugung von volumetrischem Terrain liegt, das moderne Grafik-Engines wie OGRE für dynamische Szenen effizient nutzbar macht.
Zentrale Themen sind die Modellierung von Volumendaten über CSG und 3D-Texturen, die algorithmische Generierung von Polygonnetzen mittels Dual Marching Cubes, die adaptive Detaillierung über Level-of-Detail-Strukturen sowie die realistische Materialdarstellung.
Das Ziel ist die Entwicklung eines neuen Verfahrens, das volumetrisches Terrain in Echtzeit mit einem LOD-Mechanismus darstellt, um hohe Effizienz bei gleichzeitig hoher geometrischer Flexibilität (z.B. Höhlen, Überhänge) zu erreichen.
Es werden Verfahren aus der Computergrafik wie Marching Cubes Algorithmen, Octree-Datenstrukturen zur räumlichen Unterteilung und Techniken wie triplanare Texturierung und Normal Mapping zur Materialsimulation eingesetzt.
Der Hauptteil gliedert sich in die theoretische Erläuterung der Volumendarstellung, die detaillierte Beschreibung der Algorithmen (DMC, LOD), die Softwarearchitektur der OGRE-Komponente sowie die empirische Evaluierung der Performance.
Wichtige Begriffe sind Volumendarstellung, Level of Detail (LOD), Dual Marching Cubes, Octree, Constructive Solid Geometry (CSG) und die Rendering-Engine OGRE.
Der Chunkbaum ermöglicht eine hierarchische Organisation der Geometrie. Durch das Traversieren dieses Baums und die Auswahl passender "Chunks" basierend auf dem Screen-Space-Fehler kann der Detailgrad adaptiv an die Distanz zur Kamera angepasst werden.
Wie die Messergebnisse zeigen, haben komplexe Material-Shader, insbesondere mit aktivem Normal Mapping oder Kantenglättung, einen erheblichen Einfluss auf die Performance, weshalb Material-LOD-Strategien sinnvoll eingesetzt werden.
Zur Vermeidung von Lücken an den Nahtstellen zwischen Chunks unterschiedlicher Detaillierungsstufen werden sogenannte "Marching Squares Skirts" verwendet, die den Übergang räumlich schließen.
CSG erlaubt eine prozedurale und speichereffiziente Definition des Volumens durch die Kombination grundlegender mathematischer Formen, was besonders für die Modellierung komplexer, veränderbarer Geometrien von Vorteil ist.
Der GRIN Verlag hat sich seit 1998 auf die Veröffentlichung akademischer eBooks und Bücher spezialisiert. Der GRIN Verlag steht damit als erstes Unternehmen für User Generated Quality Content. Die Verlagsseiten GRIN.com, Hausarbeiten.de und Diplomarbeiten24 bieten für Hochschullehrer, Absolventen und Studenten die ideale Plattform, wissenschaftliche Texte wie Hausarbeiten, Referate, Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Dissertationen und wissenschaftliche Aufsätze einem breiten Publikum zu präsentieren.
Kostenfreie Veröffentlichung: Hausarbeit, Bachelorarbeit, Diplomarbeit, Dissertation, Masterarbeit, Interpretation oder Referat jetzt veröffentlichen!

