220 likes | 302 Views
Informatik Fakultät Institut für Softwaretechnik, Professur Computergraphik. Verteidigung des Großen Belegs:. Animierte Schneeakkumulation mit dem Diffusionsschneemodell. Florian Klopfleisch. Dresden, 20.01.2011. Übersicht. 1. Einführung Motivation und Ziele des Beleges
E N D
Informatik Fakultät Institut für Softwaretechnik, Professur Computergraphik Verteidigung des Großen Belegs: Animierte Schneeakkumulation mit dem Diffusionsschneemodell Florian Klopfleisch Dresden, 20.01.2011
Übersicht • 1. Einführung • Motivation und Ziele des Beleges • Mathematische Grundlagen des Modells • Theoretische Lösung der Gleichung • 2. Implementierung • Überblick des Ablaufes • Einzelne Phasen des Ablaufes • 3. Ergebnisse • 4. Demonstration und Diskussion Animierte Schneeakkumulation
Einführung Motivation Ice Age 3 Lost Planet 2 TU Dresden, 20.01.2011 Animierte Schneeakkumulation
Einführung Zielstellung Animierte Schneeakkumulation
Einführung Grundlagen des Modells Diffusionsgleichung: Adaptiert auf den Schnee: Animierte Schneeakkumulation
Einführung Theoretische Lösung der Gleichung • mit dem explizitem Euler-Verfahren numerisch gelöst • man integriert numerisch mit der Schrittweite Beschneiung Glättung Animierte Schneeakkumulation
Implementierung Überblick – Prozessablauf Szene einlesen mit Depth-Peeling Datenstrukturen initialisieren Neue Höhen in Höhenpuffer speichern Triangulierung des Höhenspeichers Kopieren der Höhendaten in den Höhenspeicher Animierte Schneeakkumulation
Implementierung Überblick – Datenstrukturen • Benötigte Speicher : • Tiefenkarten • Schneehöhenspeicher • Puffer für Schneehöhen • optional: • Speicherung des Zustandes des Systems („Hotspot-Maps“) • Wie organisiert man die Speicher ? Animierte Schneeakkumulation
Implementierung Ablauf – Szene einlesen • wird per Depth-Peeling durchgeführt Schicht 1 Schicht 2 Animierte Schneeakkumulation
Implementierung Überblick – Neue Höhen berechnen Szene einlesen mit Depth-Peeling Datenstrukturen initialisieren Neue Höhen durch Diffusionsgleichung in Höhenpuffer speichern Triangulierung des Höhenspeichers Kopieren der Höhendaten in den Höhenspeicher Animierte Schneeakkumulation
Implementierung Ablauf – Neue Höhen berechnen Animierte Schneeakkumulation
Implementierung Ablauf – Neue Höhen berechnen • für die Glättung benötigt man vier Nachbarn Animierte Schneeakkumulation
Implementierung Ablauf – Laufstrategie bei Höhenberechnung … Neue Iteration • 1. Iteration • Spätere Iteration Animierte Schneeakkumulation
Implementierung Ablauf – angepasste Laufstrategie bei Höhenberechnung • Lösung: homogeneUnterteilung der Höhendatenstruktur • Höhendatenstruktur • Tiefenkarten Kachel: Speicher für einen Ausschnitt einer Kartenschicht. Animierte Schneeakkumulation
Implementierung Ablauf – angepasste Laufstrategie bei Höhenberechnung • Lösung: Unterteilung der Höhendatenstruktur Kacheln haben einen Zustand(aktiviert/allokiert oder nicht aktiviert) Animierte Schneeakkumulation
Implementierung 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 Animierte Schneeakkumulation
Implementierung Ablauf – Zustand speichern • Hotspot-Karten mit jeweils 32 Bit pro Höhenpunkt Animierte Schneeakkumulation
Implementierung Ablauf – Zustand speichern • Hotspot-Karten mit jeweils 32 Bit pro Höhenpunkt Hotspot-Karten 32 Bit 7 Bit => 128 – 2 = 126 Tiefenkarten 4 Bit => Zustand-Bits Animierte Schneeakkumulation
Ergebnisse Geschwindigkeitsmessung • Doppeldecker, 256x256 Tiefenkarten, dt = 0.01s Animierte Schneeakkumulation
Ergebnisse Erzeugte Schneedecken Animierte Schneeakkumulation
Abschluss Demonstration Animierte Schneeakkumulation
Abschluss Diskussion Animierte Schneeakkumulation