Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Lulu Eberts Geändert vor über 10 Jahren
2
Mesh: Gesamtheit der Vertex- und Dreicksarrays eines Polygons Streambarer Mesh: Mesh dessen Daten nicht in ihrer Gesamtheit im Hauptspeicher vorhanden sein müssen, um sie zu verarbeiten
3
Normale Darstellung von Meshes: Arrays von floats für die Vertexdaten, Array von Indizes auf die Vertexdaten für die Flächendaten Je komplexer das Polygon wird desto mehr Daten müssen abgelegt werden: mehrere Gigabyte Vertizedaten und mehrere Gigabyte Flächendaten
4
Um nur einzelne Teile des Meshes zu verwenden ohne alles zu dereferenzieren müssen Maßnahmen an Aufbau und Anordnung der Meshdaten vorgenommen werden
5
Es gibt immer die Möglichkeit der Speicherung der Daten auf externem Speicher (z.B Festplatte) Algorithmen die darauf arbeiten nennt man Out-of-core Verschiedene Möglichkeiten: Zerteilen des Meshes, externe Datenstrukturen, Dreieckssuppe, Streaming
6
Simples Verfahren, welches große Meshes in kleinere Abschnitte unterteilt Aber: dazu muss zunächst für den Cut dereferenziert werden
7
Ähnlicher Ansatz wie Mesh Cutting: Aufteilung in sog. Cluster Nutzung dieser Aufteilung um je nach aktuellem Bedarf zu pagen
8
Umgeht die Problematik der indizierten Daten indem man eben keine Indizes verwendet Dreiecke werden nacheinander von der Platte in den Speicher geholt Beziehungen werden rekonstruiert oder einfach ignoriert
9
Jedoch: Wieder initiales dereferenzieren aller indizierten Daten notwendig Ergo wie die anderen Varianten nicht die Lösung des Problems
10
Einführung einer neuen Information: Finalisierung Ist ein Vertex finalisiert wird er nicht länger für die Berechnungen benötigt Ist ein vertex finalisiert kann er also aus dem Hauptspeicher entfernt werden
11
Im Standardformat für Meshes werden keine Anforderungen daran gestellt wo die Vertices der einzelnen Dreiecke abgelegt werden Für die anfänglichen Meshes praktisch, heute jedoch problematisch, da keine bekannten Ordnungen existieren
12
Um die Güte der Streambarkeit einer Meshindexanordnung zu bestimmen brauchen wir Anhaltswerte Dreicksabstand : gibt an wieviele Dreiecke sich zwischen der ersten und der letzten Referenzierung des Vertex sind
13
Vertexabstand: maximal Indexdifferenz zwischen den Vertices eines Dreiecks Dreiecks- Vertexweite: maximale Anzahl die zwischen erstem und letztem Element von Vertexreferenz oder Dreiecksreferenz stehen Skip: Anzahl der Vertices welche die Indexreihefolge umgehen
15
Bereits erwähnt: kennzeichnung der Finalisierung Daraus ergibt sich die Menge der aktuell bearbeiteten Vertices, nämlich alle die zwischen Einführung und Finalisierung stehen Die maximale Anzahl bildet die Frontweite des Meshes
16
Es gibt 2 Arten von streambaren Meshes: Pre- und Post-Order Pre-Order: Vertex kommt vor allen Dreickecken die aud ihn referenzieren an Post-Order: Vertex kommt nach allen Dreicken die auf ihn referenziern an
17
Darzustellendes Polygon: Original Darstellung
18
Pre-OrderPost-Order
19
Vertexkompakt: jeder Vertex ist vom vorhergehenden oder nachfolgenden Dreieck referenziert Dreieckskompakt: letzter benötigter Vertex ist direkt davor oder danach im Stream zu finden Kompakt: beide Kompaktheitsformen
20
Schritt 1: Trennung von Vertex- und Dreiecksdaten Soll eine Anordnung von Indices nicht erhalten bleiben sondern umsortier kann diese verworfen werden Vertices müssen jedoch den auf sie referenzierenden Dreicken zugeordnet werden können
21
Schritt 2: Zuweisung von Keys für Dreicke t und zugehörigen Vertices v Wir erhalten zwei Datein mit Datensätzen und
22
Schritt 3: Sortierun und Anordnen der Datensätze in einen streambaren Datensatz Für pre-Order nach Dreiecken Für Post-Order nach Vertices Verschiedene techniken zum Anordnen
23
Wenn die Streamgüte des alten Layouts gut genug ist kann man einen Streambaren Mesh erhalten indem man einfach die Datensätze anpasst und Finalisierung vorsieht
24
Gerade bei hohem skip-Wert bietet sich Kompaktierung an Dadurch kann leicht Pre-Order erreicht werden: Sortierung der Vertices und Einfügen eines Dreiecks sobald alle dafür nötigen Vertices bereits vorher eingefügt wurden
25
Post-order: Einfügen der Dreiecke jeweils wenn ein Vertex dafür benötigt wird und vor dem besagten Vertex
26
Simple Sortierung der keys nach einer räumlichen Ausrichtung also x, y oder z danach Orientierung entweder an Vertices oder Dreiecken und erzeugen eines kompakten Meshes Alternativ aber ähnlich: Sortierung nach topologischen Richtlinien
27
Ordnung nach minimaler Weite und Abstand: da diese Werte die Güte der Streambarkeit angeben der natürlichste Ansatz Aber: das Trennen der Vertices und die Bildung von passenden Reihenfolgen erweist sich als NP-hartes Problem
28
Daher: Heuristiken werden benötigt Beliebt dafür ist das Spectral Sequencing: Aufteilung in Cluster, umordnen dieser per ACE-Clusterformatierung gut geformte Teile Dadurch wird ein ausreichend gutes gesamtbild erzeugt
30
I/O-effizientes Arbeiten da durch die Formatierung des Meshes die Dreicke sobald sie im Speicher eintreffen gerendert werden können und alle finalisierten Vertices aus dem Speicher entfernt werden können um Platz zu sparen
31
Nachteil: kein Mitführen von Informationen wie Valennzen, Inzidenzen und andere topologische Merkmale Dafür gibt es den Spezialfall von Streammeshes die sogeanntnen Processing Sequences
32
Zudem bietet das Sequenzielle Format der Streammeshes eine gute Möglichkeit für Komprimierung der Daten Normale Meshkompression benötigt Zugriff auf den Raum in zufälliger Folge, was beim Streamen nicht möglich ist Daher: eigene Kompression welche die Daten on-the-fly beim Streamen packt
33
Durch einfaches Umformatieren wird es ermöglicht auch mit wenig Speicher grosse Modelle zu rendern welche aufgrund der Datenmengen sonst nicht möglich wären Nicht an spezifisches Format gebunden, auch Standardformate können bei passenden Abständen genutzt werden (z.B. PLY, OBJ)
34
Einfache Formatierungsmethoden können auch direkt in einem Stream geschrieben werden Manche Ideen wie Ordnungserhaltende Kompression und die Kompaktierung der Meshanordung können auch an anderen Orten Anwendung finden
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.