Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

GPU Simulation and Rendering of Volumetric Effects

Ähnliche Präsentationen


Präsentation zum Thema: "GPU Simulation and Rendering of Volumetric Effects"—  Präsentation transkript:

1 GPU Simulation and Rendering of Volumetric Effects
for Computer Games and Virtual Environments Jens Krüger, Rüdiger Westermann Seminar „3D Animation und Visualisierung“ Technische Universität Darmstadt SS Andreas Schwarzkopf

2 Inhalt 1. Motivation & Overview 2. Grundlagen 3. GPGPU 4. Contribution
 Motivation, Themenüberblick, Begriffe 2. Grundlagen  Physik, Grids, Rückkopplung, Einfaches Beispiel 3. GPGPU  GPU, SIMD, Grafikpipeline, Shadinglanguages 4. Contribution  „Templates“ zur Simulationssteuerung 5. Ergebnisse & Bewertung  Leistungsmessungen, Pro & Contra, Bewertung, Ausblick 1

3 1. Motivation & Overview 1. Motivation & Overview 2 1.1 Motivation
1.2 Themenüberblick 1.3 Begriffe 2 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung

4 1.1 Motivation Einsatzrahmen der vorgestellten Techniken
Simulation von Fluiden Umfasst Effekte wie Rauch, Gas, Dampf, Wolken, Wasser, Nebel, Feuer, Explosionen, ... Simulation vs. Interaktion Anwendungsgebiet „Need for interactive Framerates“ Spiele, VR  „Skalenproblem“, Molekülebene  Effekt muss in seiner Gesamtheit erfasst werden 3 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung

5 1.2 Themenüberblick Fluid Simulation (2D) Spherical Interpolation
Volume Rendering GPU Based Particle Engine 4 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung

6 1.3 Begriffe „Themengebiet“: CFD „Physikalisches Hilfsmittel“: NSE
Computational Fluid Dynamics deutsch: „Numerische Strömungsmechanik“ Konkretes Ziel: Annähernde Lösung der 3D-NSE „Physikalisches Hilfsmittel“: NSE Navier-Stokes-Equations, (bzw. deutsch NSG) beschreiben newtonsches Fluid, mehr dazu gleich... im weiteren Vortrag immer wieder: „Grid” “Gitternetz”, äquidistant, 2D: O(n²) / 3D: O(n³) diskretisiert den Raum für numerische Lösungen 5 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung

7 2. Grundlagen 2. Grundlagen 6 2.1 Physikalische Grundlagen, NSE
2.2 NSE & Grid 2.3 Beispiel: Einfache Partikelengine 2.4 Rückkopplung in Grids 2.5 Linear Sphärische Extrusion 6 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung

8 2.1 Physikalische Grundlagen
NSE, Navier-Stokes-Gleichungen System von nichtlinearen partiellen Differentialgleichungen 2. Grades Sie beschreiben ein Newtonsches Fluid „Newtonsch“ = Konstante Viskosität (Geschwindigkeit, Druck) als f(Ort, Zeit) 7 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung

9 2.2 NSE & Grid Ein NSES  für jedes Problem ein NSES...
Impulserhaltung / Impulssatz für Newtonsche Fluide + Kontinuitätsgleichungen (Masseerhaltung) + Volumenkräfte (z.B. innere und äußere, z.B. Gravitation) + Trägheits- und Zähigkeitskräfte + thermodynamische Veränderungen + ... = „Aufwändiges Problemchen“ mit allen Finessen einer numerischen Lösung von Gleichungssystemen Mehrschrittig, Vereinfachungen, Starke Randbedingungen, Abstraktionen, Ungenauigkeiten führen zu Instabilitäten - Hier insbesondere: „Tradeoff“ Gridbasierter Lösungen 8 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung

10 2.3 Beispiel: Partikelengine
kleine, selbstgebaute Partikelengine Visualisiert Partikelfluss auf einem Grid 9 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung

11 2.4 Rückkopplung in Grids 1. Druck  Druckfeld
2. Geschwindigkeit  Geschwindigkeitsfeld 3. Partikel (Advektion)  Partikel-/Advektionsfeld 10 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung

12 2.5 Linear Sphärische Extrusion
2D – 3D Extrusion „Gegeben: 2 Scheiben – Gesucht: Explosion“ 11 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung

13 3. GPGPU 3. GPGPU 12 3.1 Bedeutung der modernen GPU
3.2 Grafikpipeline, Shadinglanguages 3.3 GPGPU, SIMD / Vektorprozessor 3.4 Probleme „auf GPU transferieren“ 12 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung

14 3.1 Bedeutung der modernen GPU
Geschwindigkeit und Parallelität GPU als (programmierbarer) Spezialprozessor 13 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung

15 3.2 Grafikpipeline, Shadinglanguages
Beispiel: NVIDIA GeForce 6800 Ultra 6 Vertexprozessoren (SIMD oder MIMD Parallelisierung) 16 Fragmentprozessoren (SIMD) 14 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung

16 3.3 GPGPU, SIMD / Vektorprozessor
 GPGPU – General Purpose Computing GPU PCI-Express = 4GB/s in beide Richtungen! Rechnerarchitektur: „Vektorrechner“ SIMD (Single Instruction Multi Data) Beispiel: NVIDIA 7800XT  Shaderinstruktionen („ASM-like“)  auf jeder der 24 Pipelines! 15 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung

17 3.4 Probleme auf GPU transferieren
CPU  GPU Probleme müssen „übersetzt“ werden Eingabe: Texturen  „Read-Only Memory“ Verarbeitung: Programmierbare Shadereinheiten Ausgabe: „Bild“ GRID und Bild (x,y,z) = Werte-Tripel = RGB bzw. (x,y,z,w) auf RGBA 2D Vektorfeld  Textur/Bild Vektor/Feldoperationen  Bildoperationen GPU sehr gut geeignet für Vektorfeldverarbeitung! 16 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung

18 4. Contribution 4. Contribution 17
4.1 „Templates“ zur Simulationssteuerung 4.2 Templates: Erzeugung und Anwendung I 4.3 Templates: Erzeugung und Anwendung II 4.4 Strukturen und Frequenzen 17 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung

19 4.1 „Templates“ zur Simulationssteuerung
Erinnerung: Druck  Geschwindigkeit  Flussfeld  Rückkopplung ... Physische Feststellung: Änderungen im Druck schlagen sich in geometrisch ähnlichen Geschwindigkeitsphänomenen nieder Ebenso: Strukturen im Geschwindigkeitsfeld bestimmen das Aussehen des Flusses Dazu die Erkenntnis: RGB „Bild“  Vektorfeld Vektor(feld)operationen  Bildoperationen Idee: Templates zur Steuerung der Simulation Konkret: „Injiziere“ (= Einblenden) ein Bild in das Druck oder Geschwindigkeitsfeld 18 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung

20 4.2 Templates: Erzeugung / Anwendung I
„Neuer“ Overview: Felder + kontrollierende Templates + 19 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung

21 4.3 Templates: Erzeugung / Anwendung II
Templates können gezeichnet oder selbst entworfen sein als „Screenshots“ aus Simulationen entnommen werden wie Bilder aus anderen Templates aufgebaut sein gruppiert, skaliert werden vom Anwender/der Applikation in die Simulation injiziert werden Drucktemplates „intuitively model divergence phenomena“ Modellieren von Quellen und Senken Geschwindigkeitstemplates „add large-scale-structures“ Schnellen, Bögen oder Wirbel 20 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung

22 4.4 Strukturen und Frequenzen
Effektmodellierung durch verschiedene Parameter Verschiedene / verschieden geformte Templates Dauer und Frequenz der Template-„Injektion“ Ort (Wahrscheinlichkeitsverteilung) Abhängigkeiten (z.B. Templates in Abhängigkeit zu diversen Gegebenheiten) In all images, templates of equal shape and number are inserted. From Image 1 to 3 we see high, medium and low frequency structures. In image 4 all frequencies are contained. These effects are achieved by using different lifetimes and scale factors. 21 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung

23 5. Ergebnisse & Bewertung
5.1 Leistungsmessungen 5.2 Pro & Contra 5.3 Persönliche Meinung und Ausblick 22 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung

24 5.1 Leistungsmessungen Solving the NSE on 2D Grids Full Demo, i.e.:
- 2 x 2D Simulation - 40 pressure Templates - extrusion to 3D Impact of pressure templates 23 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung

25 5.2 Pro & Contra Pro: Contra: 24 Niedrige Busbelastung
Modellierung ist „intuitiv“ Nutzung der GPU bringt Rechenpower! Contra: Kartenspezifischer Ansatz (Shader) Aufwändige und unintuitive Programmierung „GPGPU ist Aufgabe von Spezialisten“ 24 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung

26 5.3 Persönliche Meinung und Ausblick
GPGPU definitiv richtungsweisend Parallelisierung Programmierbare Chipsätze SIMD/MIMD Technologie Spiele/VR  Navier Stokes? für dieses Anwendungsgebiet ... immer noch zu rechenintensiv! CPU Aufgaben wurden schon immer „ausgelagert“ FPU, SPU, GPU, ... PPU (Physics Processing Unit) ist nur eine Frage der Zeit! 25 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung

27 Vielen Dank für Ihre Aufmerksamkeit!
Offene Fragen? Folie 1. Motivation & Overview 2 1.1 Motivation 3 1.2 Themenüberblick 4 1.3 Begriffe 5 2. Grundlagen 6 2.1 Physikalische Grundlagen, NSE 7 2.2 NSE & Grid 8 2.3 Beispiel: Einfache Partikelengine 9 2.4 Rückkopplung in Grids 10 2.5 Linear Sphärische Extrusion 11 3. GPGPU 3.1 Bedeutung der modernen GPU 13 3.2 Grafikpipeline, Shadinglanguages 14 3.3 GPGPU, SIMD / Vektorprozessor 15 3.4 Probleme „auf GPU transferieren“ 16 4. Contribution 17 4.1 „Templates“ zur Simulationssteuerung 18 4.2 Templates: Erzeugung und Anwendung I 19 4.3 Templates: Erzeugung und Anwendung II 20 4.4 Strukturen und Frequenzen 21 5. Ergebnisse & Bewertung 22 5.1 Leistungsmessungen 23 5.2 Pro & Contra 24 5.3 Persönliche Meinung und Ausblick 25 26

28 Referenzen und Literaturverzeichnis
Mit Stand vom 26. Juni 2006: GPU Simulation and Rendering of Volumetric Effects for Computer Games and Virtual Environments Jens Krüger and Rüdiger Westerman, Eurographics 2006, Publication taken from: Additional Materials:


Herunterladen ppt "GPU Simulation and Rendering of Volumetric Effects"

Ähnliche Präsentationen


Google-Anzeigen