Animierte Schneeakkumulation mit dem Diffusionsschneemodell Dresden, Informatik Fakultät Institut für Softwaretechnik, Professur Computergraphik Verteidigung des Großen Belegs: Florian Klopfleisch
Übersicht TU Dresden, Animierte SchneeakkumulationFolie 2 von Einführung 1.Motivation und Ziele des Beleges 2.Mathematische Grundlagen des Modells 3.Theoretische Lösung der Gleichung 2. Implementierung 1.Überblick des Ablaufes 2.Einzelne Phasen des Ablaufes 3. Ergebnisse 4. Demonstration und Diskussion
Einführung Animierte SchneeakkumulationFolie 3 von 22 Motivation Ice Age 3 Lost Planet 2 TU Dresden,
Einführung TU Dresden, Animierte SchneeakkumulationFolie 4 von 22 Zielstellung
Einführung TU Dresden, Animierte SchneeakkumulationFolie 5 von 22 Grundlagen des Modells Diffusionsgleichung: Adaptiert auf den Schnee:
Einführung TU Dresden, Animierte SchneeakkumulationFolie 6 von 22 Theoretische Lösung der Gleichung mit dem explizitem Euler-Verfahren numerisch gelöst man integriert numerisch mit der Schrittweite BeschneiungGlättung
Implementierung TU Dresden, Animierte SchneeakkumulationFolie 7 von 22 Überblick – Prozessablauf Szene einlesen mit Depth- Peeling Datenstrukturen initialisieren Neue Höhen in Höhenpuffer speichern Kopieren der Höhendaten in den Höhenspeicher Triangulierung des Höhenspeichers
Implementierung TU Dresden, Animierte SchneeakkumulationFolie 8 von 22 Überblick – Datenstrukturen Benötigte Speicher : optional: Speicherung des Zustandes des Systems (Hotspot-Maps) Tiefenkarten Schneehöhenspeicher Puffer für Schneehöhen Wie organisiert man die Speicher ?
Implementierung TU Dresden, Animierte SchneeakkumulationFolie 9 von 22 Ablauf – Szene einlesen wird per Depth-Peeling durchgeführt Schicht 2 Schicht 1
Implementierung TU Dresden, Animierte SchneeakkumulationFolie 10 von 22 Überblick – Neue Höhen berechnen Szene einlesen mit Depth- Peeling Datenstrukturen initialisieren Neue Höhen durch Diffusionsgleichung in Höhenpuffer speichern Kopieren der Höhendaten in den Höhenspeicher Triangulierung des Höhenspeichers
Implementierung TU Dresden, Animierte SchneeakkumulationFolie 11 von 22 Ablauf – Neue Höhen berechnen
Implementierung TU Dresden, Animierte SchneeakkumulationFolie 12 von 22 Ablauf – Neue Höhen berechnen für die Glättung benötigt man vier Nachbarn
Implementierung TU Dresden, Animierte SchneeakkumulationFolie 13 von 22 Ablauf – Laufstrategie bei Höhenberechnung … Neue Iteration 1. IterationSpätere Iteration
Implementierung TU Dresden, Animierte SchneeakkumulationFolie 14 von 22 Ablauf – angepasste Laufstrategie bei Höhenberechnung Lösung: homogene Unterteilung der Höhendatenstruktur HöhendatenstrukturTiefenkarten Kachel: Speicher für einen Ausschnitt einer Kartenschicht.
Implementierung TU Dresden, Animierte SchneeakkumulationFolie 15 von 22 Ablauf – angepasste Laufstrategie bei Höhenberechnung Lösung: Unterteilung der Höhendatenstruktur Kacheln haben einen Zustand(aktiviert/allokiert oder nicht aktiviert)
Implementierung TU Dresden, Animierte SchneeakkumulationFolie 16 von 22 Ablauf – angepasste Laufstrategie bei Höhenberechnung Vorteile der Kacheln: Speicher dynamisch allokierbar wenig Berechnungen Auslagerung auf die GPU ist möglich Parallelisierbarkeit wird erhöht Cacheeffiziente Speicherung bleibt erhalten Fazit: skaliert wesentlich besser
Implementierung TU Dresden, Animierte Schneeakkumulation Folie 17 von 22 Ablauf – Zustand speichern Hotspot-Karten mit jeweils 32 Bit pro Höhenpunkt
Implementierung TU Dresden, Animierte Schneeakkumulation Folie 18 von 22 Ablauf – Zustand speichern Hotspot-Karten mit jeweils 32 Bit pro Höhenpunkt Hotspot-Karten 7 Bit => 128 – 2 = 126 Tiefenkarten 32 Bit 4 Bit => Zustand-Bits
Ergebnisse TU Dresden, Animierte SchneeakkumulationFolie 19 von 22 Geschwindigkeitsmessung Doppeldecker, 256x256 Tiefenkarten, dt = 0.01s
Ergebnisse TU Dresden, Animierte SchneeakkumulationFolie 20 von 22 Erzeugte Schneedecken
Abschluss TU Dresden, Animierte SchneeakkumulationFolie 21 von 22 Demonstration
Abschluss TU Dresden, Animierte SchneeakkumulationFolie 22 von 22 Diskussion