GPU Simulation and Rendering of Volumetric Effects

Slides:



Advertisements
Ähnliche Präsentationen
Kantenbasierte Verfahren
Advertisements

Lösung nichtlinearer Gleichungssysteme
Simulation komplexer technischer Anlagen
Constantin Timm Informatik 12 TU Dortmund
CME – koronaler Massenauswurf Dirk Gerbig
zeitliche Schwankungsgrößen
Die Beschreibung von Bewegungen
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2012.
Positive Rückkopplung aus der Wirtschaft.
Numerik partieller Differentialgleichungen
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
Lösung linearer Gleichungssysteme
Rechneraufbau & Rechnerstrukturen, Folie 7.1 © 2006 W. Oberschelp, G. Vossen.
Rechneraufbau & Rechnerstrukturen, Folie 5.1 © 2006 W. Oberschelp, G. Vossen.
Rechneraufbau & Rechnerstrukturen, Folie 10.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 10.
Berechnen Sie den Output Vektor wenn der Input Vektor (1,1,-1,-1) ist.
Aerodynamische und akustische Grundbegriffe
Vorlesung: 1 Betriebssysteme 2007 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebssysteme Hochverfügbarkeit (Einführung) 3. Quartal.
Vorlesung: 1 Betriebssysteme 2008 Prof. Dr. G. Hellberg Studiengang Mechatronik FHDW Vorlesung: Betriebssysteme Hochverfügbarkeit (Einführung) 2. Quartal.
Druck- & Beschleunigungssensoren
Thorsten Jost INF-M2 – AW1 – Sommersemester Mai 2008
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
für biologische Anwendungen
Matrix Multiplication on CUDA
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
Erstellt und bearbeitet von:
Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Differentialgleichungen, SS 01Teil.
How to make a PIXAR movie
Computerorientierte Physik VORLESUNG Zeit: jeweils Mo Uhr Ort: Hörsaal 5.01, Institut für Experimentalphysik, Universitätsplatz 5, A-8010.
Kollektionen in Java Aufzählungstypen, Generische Typen
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Beschreibung der energetischen Zustände der Elektronen
Grid applications, environments and programming models Präsentiert von: Beikircher Wolfgang Schgaguler Evelyn.
Binde & Wallner Engineering GmbH
Präsentation der Software FlexPDE5
Effiziente Algorithmen
Service Computing   Prof. Dr. Ramin Yahyapour IT & Medien Centrum 19. Januar 2010.
Hydro- und Aerodynamik
Frank Kameier - Strömungstechnik I und Messdatenerfassung Folie VL10/ Nr.1 WS13/14 Frank Kameier 10. Vorlesung Strömungstechnik.
Frank Kameier 4. Vorlesung
Begriffe der Grenzschichttheorie
Ein Vortrag von Simon Bayer
Behandlung Singulärer Subsysteme mittels Graphentheorie
Objekte und ihre Beschreibung
Frank Kameier 11. Vorlesung
Modellbildung und Simulation
Frank Kameier Strömungstechnik II 2. Vorlesung
Multiprozessoren: Herausforderung für die Software
Analyseprodukte numerischer Modelle
Universität Münster Institut für Geophysik
Modellbasierte Software-Entwicklung eingebetteter Systeme
01-1-Anfang. 01a-1-Vortrag-Inhalt 14-4-Gründe-Masterplan.
Die Wege - Modellierung und Simulation von biochemischen Stoffwechselpfaden Ursula Kummer EML Research gGmbH.
Frank Kameier - Strömungstechnik I und Messdatenerfassung Folie VL11/ Nr.1 WS14/15 Frank Kameier 11. Vorlesung Strömungstechnik.
Wind fields can e.g. be calculated using the so-called momentum equations which are based on the Navier Stokes equations. But this is complicated mathematics.
Installation und erste Schritte.  Unity  Download, Installation und Ausführung  Erster Einblick  Quellen WS 14/15 - HKI - Softwaretechnologie II (Teil.
THE MATHEMATICS OF PARTICLES & THE LAWS OF MOTION.
PhysX auf der GPU in Batman: Arkham Asylum & bei Fluid Simulations Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie.
Impulserhaltung - Masse*Beschleunigung=Kraft
Frank Kameier 12. Vorlesung
Frank Kameier 5. Vorlesung Strömungstechnik II -PEU
Frank Kameier - Strömungstechnik I und Messdatenerfassung Folie VL10/ Nr.1 WS14/15 Frank Kameier 10. Vorlesung Strömungstechnik.
QUEST-Meeting, 14. Dez. 2007, Offenbach Parametrisierung der Verdunstung in einem 2-Momenten-Schema Axel Seifert Deutscher Wetterdienst, Offenbach Geschäftsbereich.
Paralleleles Rechnen auf Grafikkarten Einführung Christian Schwarz.
Ferrite Material Modeling (1) : Kicker principle
Collaborative Webmeeting November 24th, 2010 Geneve / Darmstadt
 Präsentation transkript:

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 SS2006 - Andreas Schwarzkopf

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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  65.000 Shaderinstruktionen („ASM-like“)  auf jeder der 24 Pipelines! 15 1. Motivation & Overview – 2. Grundlagen – 3. GPGPU – 4. Contribution – 5. Ergebnisse & Bewertung

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

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

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

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

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

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

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

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

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

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

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 12 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

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: 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