Mesh-Visualisierung. Von Matthias Kostka. Visualisierung großer Datensätze

Ähnliche Dokumente
Mesh-Visualisierung. Hauptseminar Visualisierung großer Datensätze. Matthias Kostka

View-Dependent Simplification. Computer Graphics

Seminar Computerspiele Räumliche Datenstrukturen. Ralf Pramberger

Matthias Treydte Fakultät für Informatik TU Chemnitz

Echtzeitdarstellung von Terrainszenarien mit Occlusion Culling

A Simple and Practical Method for Interactive Ray Tracing of Dynamic Scenes

Optimierungsalgorithmen

Grafikkarten-Architektur

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen

Game Engine Architecture and Development. Effekte (Sound, Partikel, Physik)

Motivation. ZielebeiderBereitstellungund Nutzung von 3D- Stadtmodelldaten:

Szenengraphen. Codruţa Cosma. Universität Ulm Sommersemester 2005

Computergraphik II. Level-of-Detail. Oliver Deussen Level-of-Detail 1

Generalisierung von großen Datenbeständen am Beispiel der Gebäudegeneralisierung mit CHANGE

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen

Überblick Echtzeit-Rendering. Uwe Domaratius

Michael Bender Martin Brill. Computergrafik. Ein anwendungsorientiertes Lehrbuch. 2., überarbeitete Auflage HANSER

Computergrafik. Michael Bender, Manfred Brill. Ein anwendungsorientiertes Lehrbuch ISBN Inhaltsverzeichnis

(1) Geometrie. Vorlesung Computergraphik 3 S. Müller U N I V E R S I T Ä T KOBLENZ LANDAU

3D Shape Matching Using Skeleton Graphs

Spieleprogrammierung mit DirectX und C++

LEISTUNGSVERGLEICH VON FPGA, GPU UND CPU FÜR ALGORITHMEN ZUR BILDBEARBEITUNG PROSEMINAR INF-B-610

3D-Druckformate und COLLADA

Games Engines. Realtime Terrain Rendering

World of Warcraft. Mindestvoraussetzungen

Out-of-Core Techniken

NoSQL Datenbanken EIN ÜBERBLICK ÜBER NICHT-RELATIONALE DATENBANKEN UND DEREN POTENTIALE IM ALLGEMEINEN UND IN DER INDUSTRIE

PhysX Evaluation. Softwarepraktikum Computergraphik. Daniel Brock, Robert Kreuzer, Simon Kufner. 5. Juli 2010

!! Waldemar Reger Köln,

Grafik-APIs für den Einsatz in der Augentherapie. Verteidigung der Diplomarbeit von Sascha Seewald

Remote Visualisierung

Programmierung 2 Studiengang MI / WI

Im Original veränderbare Word-Dateien

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen

Datenstrukturen und Algorithmen (SS 2013)

Virtuelle Realität Kollisionserkennung

Geometrische Modellierung mittels Oktalbäumen und Visualisierung von Simulationsdaten aus der Strömungsmechanik. Klaus Daubner

Entwurf und Umsetzung eines Werkzeugs für die Fluchtwegplanung

Computergrafik. Ein anwendungsorientiertes Lehrbuch. Bearbeitet von Michael Bender, Manfred Brill

3.5 Implizite Beschreibungen

Grundlagen der Spieleprogrammierung

Seminar: Multi-Core Architectures and Programming

Beschleunigung von Bild-Segmentierungs- Algorithmen mit FPGAs

Algorithmische Geometrie: Einstimmung

Modellierung. Oliver Hartmann

3D Infrastrukturen. Volker Coors, Seminar GIS & Internet, Überblick. - Nutzung von 3D-Stadtmodellen im WWW

Computergrafik Universität Osnabrück, Henning Wenke,

Kapitel 4: Schattenberechnung

Interaktive Visualisierung zeitabhängiger Volumendaten

ANIMATION - GRUNDLAGEN

Geometrie 2. Julian Fischer Julian Fischer Geometrie / 30

PRODUCT DESIGN COLLECTION - INVENTOR EFFIZIENTES VEREINFACHEN VON

Beschleunigungen auf Szenenebene

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen

VR - Virtuelle Welten. Gerrit Bode AI Semester

Kapitel 6: Dynamic Shortest Path

MF Breadcrumbs. Sergej Schefer & Fabian Marx

5 - CAMERA - RIG ADOBE AFTER EFFECTS. von Christoph Schreiber und Stefan Bernhardt Fulldome - Fachmodul WS 2010 / 11 Bauhaus - Universität Weimar

Rendering großer Punktwolken mittels Out-of-Core LOD-Hierarchien

TUTORIAL ADOBE AFTER EFFECTS. von Christoph Schreiber und Stefan Bernhardt Fulldome - Fachmodul WS 2010 / 11 Bauhaus - Universität Weimar

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone

Jeder Flächentyp erfordert seine eigenen Modellierungstechniken, die als Set zu diesen Typen gruppiert sind.

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen

Graph Visualisierung und Navigation. PG478 Open Graph Drawing Framework Martin Gronemann

One of the few resources increasing faster than the speed of computer hardware is the amount of data to be processed. Bin Hu

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen

Vom Web ins IoT: Schnelleinstieg in Tooling und Entwicklung

Managen Sie Ihr 3D-Gebäudemodell interaktiv. Von Anfang an.

Citrix Provisioning Server Marcel Berquez. System Engineer

Ralf Kittner. MMZ-1, Ernst-Abbe-Platz 8 Raum 214 Tel.:

Entwurf und Programmierung einer Rendering Engine

NETx Voyager Visualisierung

Beschleunigungsverfahren für Raytracing Grids Hierarchische Grids Bewertung Fazit

Cell Decomposition & Potential Field

Probelektion zum Thema. Shadow Rendering. Shadow Maps Shadow Filtering

Adaptives Displacement Mapping unter Verwendung von Geometrieshadern

Übersicht. Begriffserklärung Motivation / Anwendungen Drei Algorithmen Zusammenfassung Fragen Quellen. Triangulierung von Steffen Ernst 2

Layouterstellung im Web und interaktives Arbeiten mit dem BI Publisher

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016

How-To-Do. Hardware Konfiguration SLIO CPU 014

Systemvoraussetzungen Werkstattplanungssystem WPS

3D - Modellierung. Arne Theß. Proseminar Computergraphik TU Dresden

Einführung in das Visualization ToolKit. Institut für Simulation und Graphik, Otto-von-Guericke Universität Magdeburg

Die untere Abbildung zeigt eine Szene aus einer 3D-Computeranimation.

Jörn Loviscach Hochschule Bremen

Grundlegende Algorithmen

Übungsblatt 10: Klausurvorbereitung

Bounded Model Checking mit SystemC

Ihr Präsentationssystem, das wahre Größe zeigt.

Anwendungen im Umfeld von Panoramabildern Multimediatechnik Seminar FS 2008 Eric Lunkenbein

Quadtrees und Meshing

Seminar Game Development Game Computer Graphics. Einleitung

Quadtrees und Meshing

Trainingsangebote. Ich biete für die aufgelistete Software im Bereich Visualisierung, Schulungen an.

Seminar: 3D im Web. Kompression von 3D Szenen. Thorsten Gellermann

Schattenwurf mit Perspective Shadow Maps

MEDIENKONZEPTION UND PRODUKTION FACHHOCHSCHULE KAISERSLAUTERN, STANDORT ZWEIBRÜCKEN PROJEKT: GAGVIS BENUTZERDOKUMENTATION DANIEL SEILER FELIX KIEFER

Quadtrees und Meshing

Jens Konerow. Managed DirectX und C#

Transkript:

Mesh-Visualisierung Von Matthias Kostka

Übersicht Einführung Streaming Meshes Quick-VDR Rendering virtueller Umgebung Rendering mit PC-Clustern Zusammenfassung 2

Mesh Untereinander verbundene Punkte bilden ein Mesh (Polygonnetz) [1] Kante Facette Vertex 3

CAD CAD = computer-aided design Rechnergestützte(r) Entwurf / Kostruktion 3D-CAD Virtuelles Modell eines dreidimensionalen Objektes Nicht nur Geometrie, sondern auch Eigenschaften der Materialien Verschiedene Modelle: Kantenmodell: Körperkanten als gedachte Drahtgeometrie Flächenmodell: mathematische Bescheibung der Flächen Weitere höherwertige Modelle [4] [2] [3] 4

3D-Scan Rasterartige Abtastung von Oberflächen mit einem Laserstrahl Punktgenauigkeit bis zu 1 mm Messgeschwindigkeiten: > 1.000.000 3D-Messpunkten (1MHz) pro Sekunde Einsatz: Architektur, Denkmalpflege, Forensik, Archäologie,... [7] [6] [5] 5

Motivation Mehrere gigabyte-große Datensätze 10 bis 100 Millionen Polygone Keine Visualisierung mit gewöhnlicher Hardware zu groß für den RAM und seinen Addressbereich Interaktivität nicht mehr möglich Operationen (Culling, etc) unmöglich Lösung: Out-of-Core oder PC-Cluster 6

Streaming Meshes [8] 7

Streaming Meshes out-of-core Algorithmus Streaming Mesh: Verschachtelte Sequenz von indexierten Vertices und Dreiecken Informationen über die Lebensspanne eines Vertex oder Dreiecks Genereller Ablauf: 1. Umsortierung der Vertices und Dreiecke 2. Speicherung der Lebensspanne 3. Generierung eines Streaming -Formats 8

Layout Original Mesh: Keine Bedingungen an die Ordnung der Vertices und Dreiecke Erst alle Vertices, dann alle Dreiecke Keine Kohärenz Umsortierung der Vertices und Dreiecke: räumlich und topologisch [8] 9

Layout Inkompatibel Beispiel-Mesh [8] [8] Grün: Grau: Anzahl der neu referenzierten Vertices Abstand der Vertices eines Dreiecks 10

Layout Kompatibel - schlecht Beispiel-Mesh [8] [8] Grün: Grau: Anzahl der neu referenzierten Vertices Abstand der Vertices eines Dreiecks 11

Layout Kompatibel - gut Beispiel-Mesh [8] [8] Grün: Grau: Anzahl der neu referenzierten Vertices Abstand der Vertices eines Dreiecks 12

Layouterstellung Ziel: Vertexlayout Dreieckslayout Zeitpunkt des Dereferenzieren Erstellung: Layout: 1. Jeweils Dreiecke und Vertices in zwei verschiedenen Dateien mit Originalindex speichern 2. Neue Sortierschlüssel für Vertices und Dreiecke generieren 3. Sortierung der Schlüssel 4. (Merging der beiden Dateien) und Generierung neuer Indizes Dereferenzieren 13

Sortierung Tiefensortierung Breitensortierung Z-Ordersortierung Räumliche Sortierung Spektralsortierung 14

Ergebnis Zeit (hh:mm:ss) mit I/O auf einem 3,2 GHz PC mit 2 GB RAM [8] Vertices: 543.652 Dreiecke: 1.087.716 [9] [10] [11] Vertices: 14.027.872 Dreiecke: 28.055.742 Vertices: 186.836.665 Dreiecke: 372.737.445 15

Quick-VDR [12] 16

Motivation Geringe Kosten für Vereinfachungen Starke Vereinfachung des Modells Hohe Framerate Geringe Qualitätsverluste der Bilder Generell einsetzbar 17

Übersicht Modell: Cluster Hierarchie von progressiven Meshs (CHPM) 1. Modellerstellung: out-of-core Algorithmus zur Erstellung eines CHPM Clusterabhängigkeiten für starke Vereinfachungen 2. Rendering: Zeitliche Kohärenz Occlusion Abfragen Ein Frame Verzögerung 18

Übersicht (CH) Cluster Hierarchie: Gesamte Daten als Cluster repräsentiert Räumlich zusammenhängend Jeder Cluster enthält ca 1.000 Dreiecke Grobkörnige view-dependent Verarbeitung Sichtbarkeitsberechnung [12] 19

Übersicht (PM) Progressive Mesh: Lineare Sequenz aus Half-Edge-Collapse -Operationen Feinkörnige Verarbeitung Fehlerabhängige Vereinfachung zur Laufzeit [12] [12] 20

Erstellung der Cluster Modell in räumlich eng begrenzte Cluster zerlegen Alle Cluster ca. gleich groß Min RAM Performantes Occlusion Culling Verbindungsinformationen speichern [12] 21

Erstellung der Cluster Schritte zur Erstellung: 1. Bounding Box des gesamten Meshs erzeugen 2. Vertices in Cluster unterteilen 3. Mapping zwischen neuen und alten Indizes der Vertices 4. Clusterübergreifende Vertices markieren 22

Vereinfachung Ziel: Jeden Cluster unabhängig und gleichzeitig vereinfachen Problem: Keine Vereinfachung von verteilten Vertices Lösung: Lücken im Mesh Clusterabhängigkeiten: Vereinfachung von verteilten Vertices [12] 23

Clusterabhängigkeit Probleme: Ketten von abhängigen Clustern Lösung: Abhängigkeit nur, wenn: 1. zwei Cluster nicht in wenigen Hierarchieleveln verbunden werden 2. sie in ungefähr gleichen Fehlerbereichen liegen 3. keine Ketten erzeugt werden [12] 24

Aktive Clusterliste Liste der aktuell zu vereinfachenden Cluster Level-of-Detail: Erhöhen: Cluster splitten Erniedrigen: Cluster verbinden [12] [12] 25

Rendering 1 Frame Verzögerung 2 Threads Rendering I/O [12] 26

Occlusion Culling [12] PVS: mögliche sichtbare Menge von Clustern NVS: sichtbare Cluster OR: Occlusion-Repräsentation 27

Ergebnis 2,4 GHz PC mit 1 GB RAM [12] [12] Dreiecke: 100.000.000 Dreiecke: 12.200.000 Dreiecke: 372.737.445 [12] [11] 28

Rendering virtueller Umgebung 29

Übersicht 1. Pre-Prozess Modell räumlich aufteilen Szenengraph erstellen Kontinuierliche Level-of-Details für jedes Objekt im Graph generieren 2. Run-Time Graph traversieren Verschiedene Cullings und Vereinfachungen Rendern [13] 30

Räumliche Aufteilung Orginalszene Aufgeteilte Szene [13] 31

Kontinuierliche Level-of-Details [13] Szenegraph Kontinuierliche Level-of-Details für einen Knoten 32

Ergebnis [13] 2,4GHz PC, 512MB RAM, Geforce 3 Ti500, 128MB GRAM [13] PP: Power Plant 12.200.000 Dreiecke Virtual City 23.000.000 Dreiecke 33

Rendering mit PC-Clustern 34

Rendering mit PC-Cluster DRT: Dynamic Rendering Team 1 Master: Rendering Taskverteilung, Sheduling n Slaves: Bildaufbau, Anzeige FSP: Verwaltung von freien Slaves Vorteile dieser Architektur: Einfacher Ausbau der Clustergröße Schnelles Laden der Daten Einfache Taskverwaltung [14] 35

Ergebnis Arbeitsauslastung der DRTs [14] Cluster: 32 PCs in einem 1GB Ethernet 2,4GB DualCore, 1GB RAM, GeForce 5950FX 100M Dreiecke mit einer Verarbeitung von 485M pro Sekunde = ca 15fps 36

Zusammenfassung Probleme: Zu große Datenmengen für einen normalen PC Kein interaktives Rendering möglich Lösung: Out-of-Core (Streaming Meshes, Quick-VDR,...) PC-Cluster 37

Vielen Dank für die Aufmerksamkeit Sind noch Fragen vorhanden? 38

Quellen [1] http://stochastix.files.wordpress.com/2008/07/ippolita50k-close-up.png [2] http://www.spatial.com/products/3d-mesh [3] http://public.beuth-hochschule.de/~mathe/teach/studmath/edv/welcome.html [4] http://daveperso.mediaenglishonline.com/2011/04/29/3d-acrobat-and-articulate/ [5] http://upload.wikimedia.org/wikipedia/commons/5/5a/3d-laserscanner_on_tripod.jpg [6] http://upload.wikimedia.org/wikipedia/de/7/76/scan_flugzeughalle.jpg [7] http://gfxspeak.com/2010/12/09/busy-autodesk-looks-wistfully-to-the-clouds/ *8+ Streaming Meshes, M. Isenburg, P. Lindstrom, 2005 [9] http://i344.photobucket.com/albums/p338/free3dart/happy_buddha.jpg [10] http://www.creativecrash.com/system/photos/000/092/234/92234/big/lucy.jpg?1273298041 [11] http://graphics.stanford.edu/projects/mich/matthew/stmatthew_hires_whole-esh.jpg [12] Quick-VDR: Out-of-Core View-Dependent Rednering of Gigantic Models, S. Yoon, B. Salomon, R. Gayle, D. Manocha, 2005 [13] View-Dependent Out-of-Core Rendering of Large-Scale Virtual Environments with Continuous Hierarchical Levels of Detail, H. Chen, S. Zhan, Y. Gao, W. Zhang, 2008 [14] A Parallel Framework for Interactive Rendering of Massive Complex Scenes on PCs Cluster, X. Jiang, K. Lei, H. Yiong, Y. Li, J. Shi, 2007 39