Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Seminar 3D Animation und Visualisierung Technische Universität Darmstadt SS2006 - Andreas Schwarzkopf GPU Simulation and Rendering of Volumetric Effects.

Ähnliche Präsentationen


Präsentation zum Thema: "Seminar 3D Animation und Visualisierung Technische Universität Darmstadt SS2006 - Andreas Schwarzkopf GPU Simulation and Rendering of Volumetric Effects."—  Präsentation transkript:

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

2 Inhalt 1. Motivation & Overview 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.1 Motivation 1.2 Themenüberblick 1.3 Begriffe 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung 2

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 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung 3

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

6 1.3 Begriffe Themengebiet: CFD 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 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung 5

7 2. Grundlagen 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 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung 6

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) 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung 7

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 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung 8

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

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

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

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

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

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

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! 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung 15

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! 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung 16

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

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 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung 18

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

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 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung 20

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) 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung 21 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.

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

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

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

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! 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung 25

27 Vielen Dank für Ihre Aufmerksamkeit! Offene Fragen? Folie 1. Motivation & Overview Motivation3 1.2 Themenüberblick4 1.3 Begriffe5 2. Grundlagen Physikalische Grundlagen, NSE7 2.2 NSE & Grid8 2.3 Beispiel: Einfache Partikelengine9 2.4 Rückkopplung in Grids Linear Sphärische Extrusion11 3. GPGPU Bedeutung der modernen GPU Grafikpipeline, Shadinglanguages GPGPU, SIMD / Vektorprozessor Probleme auf GPU transferieren16 4. Contribution Templates zur Simulationssteuerung Templates: Erzeugung und Anwendung I Templates: Erzeugung und Anwendung II Strukturen und Frequenzen21 5. Ergebnisse & Bewertung Leistungsmessungen Pro & Contra Persönliche Meinung und Ausblick25 26

28 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: –http://wwwcg.in.tum.de/Research/Publications/VolEffects –http://wwwcg.in.tum.de/Research/data/Publications/eg05.pdf Additional Materials: –http://laplace.physics.ubc.ca/People/msnajdr/OTHER/other.html –http://en.wikipedia.org/wiki/GPGPU –http://de.wikipedia.org/wiki/GPGPU –http://de.wikipedia.org/wiki/Prozessorarchitektur Referenzen und Literaturverzeichnis


Herunterladen ppt "Seminar 3D Animation und Visualisierung Technische Universität Darmstadt SS2006 - Andreas Schwarzkopf GPU Simulation and Rendering of Volumetric Effects."

Ähnliche Präsentationen


Google-Anzeigen