Animated Snow Accumulation with Diffusion Snow Model
220 likes | 312 Vues
Explore the implementation of an animated snow accumulation using diffusion equation and numerical integration. Learn about the process flow, data structures, and calculation strategies for realistic snow simulation.
Animated Snow Accumulation with Diffusion Snow Model
E N D
Presentation Transcript
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