animierte schneeakkumulation mit dem diffusionsschneemodell dresden, 20.01.2011 informatik fakultät...
Post on 05-Apr-2015
115 Views
Preview:
TRANSCRIPT
Animierte Schneeakkumulation mit dem Diffusionsschneemodell
Dresden, 20.01.2011
Informatik Fakultät Institut für Softwaretechnik, Professur Computergraphik
Verteidigung des Großen Belegs:
Florian Klopfleisch
Animierte Schneeakkumulation
Übersicht
TU Dresden, 20.01.2011 Folie 2 von 22
1. Einführung
1. Motivation und Ziele des Beleges2. Mathematische Grundlagen des Modells3. Theoretische Lösung der Gleichung
2. Implementierung
4. Überblick des Ablaufes5. Einzelne Phasen des Ablaufes
3. Ergebnisse4. Demonstration und Diskussion
Animierte Schneeakkumulation
Einführung
Folie 3 von 22
Motivation
Ice Age 3
Lost Planet 2
TU Dresden, 20.01.2011
Animierte Schneeakkumulation
Einführung
TU Dresden, 20.01.2011 Folie 4 von 22
Zielstellung
Animierte Schneeakkumulation
Einführung
TU Dresden, 20.01.2011 Folie 5 von 22
Grundlagen des Modells
)(),(),( 2 xxthD
t
xth
)(),(),(
2
2
xqx
xtTD
t
xtT
Diffusionsgleichung:
Adaptiert auf den Schnee:
2)dim( x
Animierte Schneeakkumulation
Einführung
TU Dresden, 20.01.2011 Folie 6 von 22
Theoretische Lösung der Gleichung
)],()([),(),( 21 xthDxtxthxth iii
• mit dem explizitem Euler-Verfahren numerisch gelöst
• man integriert numerisch mit der Schrittweite t
Beschneiung Glättung
:Ox
)(),(),( 2 xxthD
t
xth
Animierte Schneeakkumulation
Implementierung
TU Dresden, 20.01.2011 Folie 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
Animierte Schneeakkumulation
Implementierung
TU Dresden, 20.01.2011 Folie 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 ?
Animierte Schneeakkumulation
Implementierung
TU Dresden, 20.01.2011 Folie 9 von 22
Ablauf – Szene einlesen • wird per Depth-Peeling durchgeführt
Schicht 2
Schicht 1
Animierte Schneeakkumulation
Implementierung
TU Dresden, 20.01.2011 Folie 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
Animierte Schneeakkumulation
Implementierung
TU Dresden, 20.01.2011 Folie 11 von 22
Ablauf – Neue Höhen berechnen
0)( x
.)( konstx
)],()([),(),( 21 xthDxtxthxth iii
),( 1 xth
:Ox
Animierte Schneeakkumulation
Implementierung
TU Dresden, 20.01.2011 Folie 12 von 22
Ablauf – Neue Höhen berechnen
• für die Glättung benötigt man vier Nachbarn
)],()([),(),( 12
12 xthDxtxthxth
:Ox
Animierte Schneeakkumulation
Implementierung
TU Dresden, 20.01.2011 Folie 13 von 22
Ablauf – Laufstrategie bei Höhenberechnung
…
Neue Iteration
1. Iteration Spätere Iteration
Animierte Schneeakkumulation
Implementierung
TU Dresden, 20.01.2011 Folie 14 von 22
Ablauf – angepasste Laufstrategie bei Höhenberechnung
Lösung: homogene Unterteilung der Höhendatenstruktur
Höhendatenstruktur Tiefenkarten
Kachel: Speicher für einen Ausschnitt einer Kartenschicht.
Animierte Schneeakkumulation
Implementierung
TU Dresden, 20.01.2011 Folie 15 von 22
Ablauf – angepasste Laufstrategie bei Höhenberechnung
Lösung: Unterteilung der Höhendatenstruktur
Kacheln haben einen Zustand(aktiviert/allokiert oder nicht aktiviert)
Animierte Schneeakkumulation
Implementierung
TU Dresden, 20.01.2011 Folie 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
Animierte Schneeakkumulation
Implementierung
TU Dresden, 20.01.2011 Folie 17 von 22
Ablauf – Zustand speichern
• Hotspot-Karten mit jeweils 32 Bit pro Höhenpunkt
Animierte Schneeakkumulation
Implementierung
TU Dresden, 20.01.2011 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
Animierte Schneeakkumulation
Ergebnisse
TU Dresden, 20.01.2011 Folie 19 von 22
Geschwindigkeitsmessung
1x1 2x2 4x4 8x8 16x16 32x32 64x64 128x128 256x25610s
11s
12s
13s
14s
15s
16s
Integration von 0s bis 3s Kachelanzahl = (Breite x Höhe)
Ber
echn
ungs
zeit
ohn
e T
rian
guli
erun
g
• Doppeldecker, 256x256 Tiefenkarten, dt = 0.01s
Animierte Schneeakkumulation
Ergebnisse
TU Dresden, 20.01.2011 Folie 20 von 22
Erzeugte Schneedecken
Animierte Schneeakkumulation
Abschluss
TU Dresden, 20.01.2011 Folie 21 von 22
Demonstration
Animierte Schneeakkumulation
Abschluss
TU Dresden, 20.01.2011 Folie 22 von 22
Diskussion
top related