TU-Dresden Lehrstuhl für Computergrafik und Visualisierung GPU-basierte Simulation dynamischer...

23
TU- Dresden Lehrstuhl für Computergrafik und Visualisierung GPU-basierte Simulation dynamischer Terrains Diplomverteidigung Maik Lathan 2008

Transcript of TU-Dresden Lehrstuhl für Computergrafik und Visualisierung GPU-basierte Simulation dynamischer...

Page 1: TU-Dresden Lehrstuhl für Computergrafik und Visualisierung GPU-basierte Simulation dynamischer Terrains Diplomverteidigung Maik Lathan 2008.

TU-Dresden

Lehrstuhl für Computergrafik

und Visualisierung

GPU-basierte Simulation dynamischer Terrains

DiplomverteidigungMaik Lathan2008

Page 2: TU-Dresden Lehrstuhl für Computergrafik und Visualisierung GPU-basierte Simulation dynamischer Terrains Diplomverteidigung Maik Lathan 2008.

Diplomverteidigung - Maik Lathan - TU-Dresden - 2008

Dynamische Terrains in der Computergrafik

GPU-basierte Simulation dynamischer Terrains

Die Anwendung – Sandbox.exe

Mögliche Erweiterungen von „Sandbox“

Page 3: TU-Dresden Lehrstuhl für Computergrafik und Visualisierung GPU-basierte Simulation dynamischer Terrains Diplomverteidigung Maik 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

Page 4: TU-Dresden Lehrstuhl für Computergrafik und Visualisierung GPU-basierte Simulation dynamischer Terrains Diplomverteidigung Maik Lathan 2008.

Zielstellung

Diplomverteidigung - Maik Lathan - TU-Dresden - 2008

1

2

3

Page 5: TU-Dresden Lehrstuhl für Computergrafik und Visualisierung GPU-basierte Simulation dynamischer Terrains Diplomverteidigung Maik Lathan 2008.

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

Halde mit Gefälle

Bruchebene

Entmischung

Page 6: TU-Dresden Lehrstuhl für Computergrafik und Visualisierung GPU-basierte Simulation dynamischer Terrains Diplomverteidigung Maik Lathan 2008.

Diplomverteidigung - Maik Lathan - TU-Dresden - 2008

Grundlagen der Bodenmechanik II

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

Höhensäulen

Sphärisches Partikel

Partikelverbund

Page 7: TU-Dresden Lehrstuhl für Computergrafik und Visualisierung GPU-basierte Simulation dynamischer Terrains Diplomverteidigung Maik Lathan 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 Array Textur

Diplomverteidigung - Maik Lathan - TU-Dresden - 2008

Stark vereinfachte Shader-Modell 4.0 Architektur (DirectX10)

Page 8: TU-Dresden Lehrstuhl für Computergrafik und Visualisierung GPU-basierte Simulation dynamischer Terrains Diplomverteidigung Maik Lathan 2008.

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

n ip

jp

relp

tanp

rp

x

Partikel

sonstndrk

drndrkFC ,)2(

02,)2(

tanppF relD

ijrel ppp

)(tan npnpp relrel

ix jx

d

ddn

Page 9: TU-Dresden Lehrstuhl für Computergrafik und Visualisierung GPU-basierte Simulation dynamischer Terrains Diplomverteidigung Maik Lathan 2008.

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

Page 10: TU-Dresden Lehrstuhl für Computergrafik und Visualisierung GPU-basierte Simulation dynamischer Terrains Diplomverteidigung Maik Lathan 2008.

Diplomverteidigung - Maik Lathan - TU-Dresden - 2008

Verfahren II

Shader-Verbund der Simulation

Page 11: TU-Dresden Lehrstuhl für Computergrafik und Visualisierung GPU-basierte Simulation dynamischer Terrains Diplomverteidigung Maik Lathan 2008.

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

Grid

l

oxVoxel

GittersdesUrsprungGrido

nlängeVoxelkanteVoxell

41

3Voxel

3 4 …

Partikel 3 bereits einsortiert

4 1 …

0 1 2 3 4 5 6 7Voxel

4, 3, 1

Page 12: TU-Dresden Lehrstuhl für Computergrafik und Visualisierung GPU-basierte Simulation dynamischer Terrains Diplomverteidigung Maik Lathan 2008.

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

Page 13: TU-Dresden Lehrstuhl für Computergrafik und Visualisierung GPU-basierte Simulation dynamischer Terrains Diplomverteidigung Maik Lathan 2008.

Diplomverteidigung - Maik Lathan - TU-Dresden - 2008

(B) GPU-Kollision und Reaktion II

Simulationsraum SR

76 5

43 2

Grobe Suche AOBB an Voxelgitter anpassen Voxel bestimmen

Exakte Kollision (Partikel 8)

Punkt-In-Dreieck? Kugel-Berührt-Kante? Kugel-Berührt-Ecke?

Wirkende Kraft ermitteln

(Modell)

Kraft in Textur speichern

F

91

8

Page 14: TU-Dresden Lehrstuhl für Computergrafik und Visualisierung GPU-basierte Simulation dynamischer Terrains Diplomverteidigung Maik Lathan 2008.

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!

Page 15: TU-Dresden Lehrstuhl für Computergrafik und Visualisierung GPU-basierte Simulation dynamischer Terrains Diplomverteidigung Maik Lathan 2008.

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

tFpp Ges' tm

pxx

'' ttszeitschriSimulationt

Page 16: TU-Dresden Lehrstuhl für Computergrafik und Visualisierung GPU-basierte Simulation dynamischer Terrains Diplomverteidigung Maik Lathan 2008.

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

Page 17: TU-Dresden Lehrstuhl für Computergrafik und Visualisierung GPU-basierte Simulation dynamischer Terrains Diplomverteidigung Maik Lathan 2008.

(D) GPU-Oberflächenrekonstruktion II

Modell der Oberflächenrekonstruktion

Diplomverteidigung - Maik Lathan - TU-Dresden - 2008

sonst,0

rr,4

1

r2

r

r2

rcrit

2

crit

4

crit

Fieldf

tGitterpunkPartikelAbstand r

Radiuskritscherrcrit [Triquet2001]

Page 18: TU-Dresden Lehrstuhl für Computergrafik und Visualisierung GPU-basierte Simulation dynamischer Terrains Diplomverteidigung Maik Lathan 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

Page 19: TU-Dresden Lehrstuhl für Computergrafik und Visualisierung GPU-basierte Simulation dynamischer Terrains Diplomverteidigung Maik Lathan 2008.

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

Page 20: TU-Dresden Lehrstuhl für Computergrafik und Visualisierung GPU-basierte Simulation dynamischer Terrains Diplomverteidigung Maik Lathan 2008.

Diplomverteidigung - Maik Lathan - TU-Dresden - 2008

Ergebnisse

DEMO

Page 21: TU-Dresden Lehrstuhl für Computergrafik und Visualisierung GPU-basierte Simulation dynamischer Terrains Diplomverteidigung Maik Lathan 2008.

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

Page 22: TU-Dresden Lehrstuhl für Computergrafik und Visualisierung GPU-basierte Simulation dynamischer Terrains Diplomverteidigung Maik Lathan 2008.

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

Page 23: TU-Dresden Lehrstuhl für Computergrafik und Visualisierung GPU-basierte Simulation dynamischer Terrains Diplomverteidigung Maik Lathan 2008.

Diplomverteidigung - Maik Lathan - TU-Dresden - 2008

Ende

Vielen Dank für Ihre Aufmerksamkeit