GPU-basierte Simulation dynamischer Terrains Diplomverteidigung Maik Lathan 2008 Herzlich Willkommen, mein Name ist Maik Lathan. Ich werde heute im Rahmen meiner Diplomverteidigung einen Vortrag über die GPU-basierte Simulation dynamischer Terrains halten.
Dynamische Terrains in der Computergrafik GPU-basierte Simulation dynamischer Terrains Die Anwendung – Sandbox.exe Mögliche Erweiterungen von „Sandbox“ Diplomverteidigung - Maik Lathan - TU-Dresden - 2008
Motivation Simulation natürlicher Phänomene in der Computergrafik realistische virtuelle Umgebungen Dynamische Terrains sind Grundlage verschiedener Anwendungen: WisVis, Filmindustrie, Spielindustrie, Militär Bodenmechanik als Grundlage für Terrainverhalten Umfangreiche physikalische Phänomene Berechnungen erfordern hohe Rechenleistung bisher effiziente Darstellung statischer Terrains Leistung von Graphics Processing Unit (GPU) verwenden Bodenmechanik in Echtzeit simulieren und darstellen Diplomverteidigung - Maik Lathan - TU-Dresden - 2008
Zielstellung 1 2 3 Diplomverteidigung - Maik Lathan - TU-Dresden - 2008
Grundlagen der Bodenmechanik I Boden besteht aus granularen Partikeln Beispiel: Kies, Schotter, (Zucker) Merkmale: Form, Farbe, Masse, chemischer Aufbau Reibung zwischen Partikeln Aufschüttung bildet stabile Halde (Anstieg θ) Wird Reibung überwunden, beginnt Boden zu fließen Festkörper & Flüssigkeit Übergang zwischen „fest“ und „flüssig“ Bruchebene Entmischung Halde mit Gefälle Bruchebene Diplomverteidigung - Maik Lathan - TU-Dresden - 2008
Grundlagen der Bodenmechanik II Höhensäulen Boden durch physikalisches Modell abbilden Höhensäulen [Li1993] Diskrete-Elemente [Cu1979] Höhensäulen: Bodenvolumen diskret als „Säulen“ auf 2D-Raster abbilden Berechnungen auf Basis der Höhendifferenz von Säulen Diskrete-Elemente: Sandkörner als sphärische Partikel abbilden Berechnung auf geometrischer Basis bzw. Wechselwirkungen zwischen Partikeln Sphärisches Partikel Partikelverbund Diplomverteidigung - Maik Lathan - TU-Dresden - 2008
Allgemeine GPU-Berechnungen Stark vereinfachte Shader-Modell 4.0 Architektur (DirectX10) Darstellungsfähigkeiten für allgemeine Berechnungen verwenden Algorithmen auf paralleler GPU-Architektur implementieren Vereinfachte CPU-GPU-Analogien: Funktionsaufruf Darstellung Innere Funktion Pixel-Shader Array Textur Diplomverteidigung - Maik Lathan - TU-Dresden - 2008
Terrain-Modell Sphärische Diskrete-Elemente bilden Erdboden Zustand: Ort x, Impuls p, Masse m, Radius r Wechselwirkung bei Kollision: Partikel j Partikel i Kollisionskraft, Dämpfungskraft: FC+FD Partikel Diplomverteidigung - Maik Lathan - TU-Dresden - 2008
Verfahren I Diskrete-Elemente bilden Partikelsystem in Simulationsraum SR simuliert Inter-Partikelkollision beschleunigen Partikel in Voxelgitter einsortieren Objekt-Partikelkollision beschleunigen Voxelgitter nutzen Terrainoberfläche aus Partikel generieren optimierter Marching-Cubes-Algorithmus Verfahren ist Kaskade von GPU-Shadern Diplomverteidigung - Maik Lathan - TU-Dresden - 2008
Verfahren II Shader-Verbund der Simulation Diplomverteidigung - Maik Lathan - TU-Dresden - 2008
Partikel 3 bereits einsortiert (A) GPU-Voxelgitter Besteht aus homogenen Volumenelementen Partikel je Zeitschritt neu einsortiert Voxelgitter besteht aus 3D-Textur und 1D-Textur Primäreinsortierung in 3D-Textur, sekundär in 1D-Textur als Liste 3 4 … Partikel 3 bereits einsortiert 1 2 5 6 7 Voxel 4 1 3 Voxel 4, 3, 1 Diplomverteidigung - Maik Lathan - TU-Dresden - 2008
(B) GPU-Kollision und Reaktion I Dreiecksbasierte Objekte kollidieren mit Partikeln Terrain direkt manipulierbar Suchraum für Kollision effizient einschränken Kollisionserkennung und -reaktion in 2 Phasen 1. Grobe Suche, 2. exakte Kollision Grobe Suche: Voxelgitter ausnutzen Achsenorientierte Begrenzungsbox definiert Voxelvolumen Exakte Kollision: Partikel in Objektvoxeln berücksichtigen Hierarchischer Schnitttest Kugel-Dreieck Diplomverteidigung - Maik Lathan - TU-Dresden - 2008
(B) GPU-Kollision und Reaktion II Grobe Suche AOBB an Voxelgitter anpassen Voxel bestimmen Simulationsraum SR 1 9 Exakte Kollision (Partikel 8) Punkt-In-Dreieck? Kugel-Berührt-Kante? Kugel-Berührt-Ecke? F 8 4 7 Wirkende Kraft ermitteln (Modell) Kraft in Textur speichern 6 5 3 2 Diplomverteidigung - Maik Lathan - TU-Dresden - 2008
(C) GPU-Partikelsystem I Simulation basiert auf Newton‘scher Mechanik Simulationszeitschritt 100ms Partikelzustand in 2x 2D-Texturen gespeichert Berechnungen durch gerastertes Vollbildrechteck Je Texel ein Partikel! Partikel stapeln Diplomverteidigung - Maik Lathan - TU-Dresden - 2008
(C) GPU-Partikelsystem II Kräfte akkumulieren FGes und System integrieren Gravitation (konstant je Partikel) Partikel-Simulationsraum-Kollision Partikel-Objekt-Kollision Partikel-Partikel-Kollision Voxelgitter für Partikel-Partikel-Kollision nutzen 27 Nachbarvoxel betrachten Zustandstextur der Partikel aktualisieren Partikel stapeln Diplomverteidigung - Maik Lathan - TU-Dresden - 2008
(D) GPU-Oberflächenrekonstruktion I Partikelsystem in Terrainoberfläche umwandeln Phase 1: Skalarfeld berechnen Phase 2: Marching-Cubes generiert Oberfläche Marching-Cubes verwendet Voxelgitter als Grundlage Geometry-Shader generiert Oberflächendreiecke Diplomverteidigung - Maik Lathan - TU-Dresden - 2008
(D) GPU-Oberflächenrekonstruktion II Modell der Oberflächenrekonstruktion [Triquet2001] Diplomverteidigung - Maik Lathan - TU-Dresden - 2008
(D) GPU-Oberflächenrekonstruktion III Phase 1 – Skalarfeld Feldfunktion je Gitterpunkt je Partikel auswerten Schichten ermitteln, die Partikel überdeckt Je Schicht ein Rechteck im Voxelgitter darstellen Feldwerte summieren AlphaBlending Diplomverteidigung - Maik Lathan - TU-Dresden - 2008
(D) GPU-Oberflächenrekonstruktion IV Phase 2: Marching-Cubes Dreiecksnetz Platten durchwandern, jedes Voxel Angrenzende Schichten auswerten 8 Ecken Dreiecke erzeugen VertexBuffer Diplomverteidigung - Maik Lathan - TU-Dresden - 2008
Ergebnisse DEMO Diplomverteidigung - Maik Lathan - TU-Dresden - 2008
Zusammenfassung Verfahren komplett mit GPU berechnet (DirectX10) Partikelsystem, Kollisionsreaktion und Oberflächenkonstruktion dynamische Terrainsimulation Verfahren basiert auf physikalisch plausibler DEM-Methode Erosion, Einschläge, Lawinen Objekte können mit Terrain interagieren Materialtransport Volumetrischer Erdboden Höhlen, Durchdringungen Echtzeitfähig mit 10.000 Partikeln Diplomverteidigung - Maik Lathan - TU-Dresden - 2008
Ausblick Beschränkung des Simulationsraums aufheben 3D-Hash anstatt Voxelgitter nutzen Partikelanzahl reduzieren (viele nicht sichtbar) Partikelanzahl- und Größe an Erfordernis anpassen Physikalische Simulation auf Aktionsvolumen einschränken wodurch definieren sich die Volumen? Terrain auf hoch paralleler Architektur berechnen (IBM Cell, NV TESLA) einzelne Bereiche mit SPU/GPU berechnen/simulieren SPE = Synergistic Processing Unit Diplomverteidigung - Maik Lathan - TU-Dresden - 2008
Vielen Dank für Ihre Aufmerksamkeit Ende Vielen Dank für Ihre Aufmerksamkeit Diplomverteidigung - Maik Lathan - TU-Dresden - 2008