230 likes | 435 Views
GPU-basierte Simulation dynamischer Terrains. Diplomverteidigung Maik Lathan 2008. Motivation. Simulation natürlicher Phänomene in der Computergrafik realistische virtuelle Umgebungen
E N D
GPU-basierte Simulation dynamischer Terrains DiplomverteidigungMaik Lathan 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 Halde mit Gefälle • 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 Bruchebene Entmischung Diplomverteidigung - Maik Lathan - TU-Dresden - 2008
Grundlagen der Bodenmechanik II Höhensäulen • Boden durch physikalisches Modell abbildenHö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 • Darstellungsfähigkeiten für allgemeine Berechnungen verwenden • Algorithmen auf paralleler GPU-Architektur implementieren • Vereinfachte CPU-GPU-Analogien: • Funktionsaufruf Darstellung • Innere Funktion Pixel-Shader • ArrayTextur Stark vereinfachte Shader-Modell 4.0 Architektur (DirectX10) 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
(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 Voxel 0 1 2 3 4 5 6 7 1 3 4 … 4, 3, 1 4 3 Voxel Partikel 3 bereits einsortiert 4 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-PartikelsystemI • Simulation basiert auf Newton‘scher Mechanik • Simulationszeitschritt 100ms • Partikelzustand in 2x 2D-Texturen gespeichert Berechnungen durch gerastertes Vollbildrechteck Je Texel ein Partikel! Diplomverteidigung - Maik Lathan - TU-Dresden - 2008
(C) GPU-PartikelsystemII • 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 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 (IBMCell, NV TESLA) einzelne Bereiche mit SPU/GPU berechnen/simulieren Diplomverteidigung - Maik Lathan - TU-Dresden - 2008
Ende Vielen Dank für Ihre Aufmerksamkeit Diplomverteidigung - Maik Lathan - TU-Dresden - 2008