Simulation und Visualisierung von Fluiden in einer Echtzeitanwendung mit Hilfe der GPU
- Das Projekt Ziel der Studienarbeit war, eine physikalisch basierte Echtzeitsimulation eines volumetrischen Fluids in Form einer Rauchentwicklung auf der GPU zu realisieren und diese in eine Echtzeitanwendung zu integrieren. Motivation Mit Hilfe von Fluidsimulationen lassen sich einige der faszinierendst anzuschauenden Naturphänomene wie Rauch, Wolken oder auch Feuer und Wasser realistisch darstellen. Ausserdem könnten mit physikalischbasierten Fluidsimulationen eine große Fülle neuer Interaktionsmöglichkeiten innerhalb einer simulierten Welt realisiert werden. Wasser könnte realistisch fließen und Gegenstände mit sich reißen oder ganze Landschaften überfluten, Wind- und Luftströmungen könnten Segelschiffe antreiben oder sogar zerstörerische Wettereffekte wie Tornados simulieren etc... Die Fluidsimulation Der Rauch kann um Objekte im Fluidvolumen strömen, auf Temperaturunterschiede reagieren und dynamisch beleuchtet werden. Die Fluidsimulation nutzt dabei einen rasterbasierten Ansatz um die Navier-Stokes Gleichungen zu lösen und Partikel durch das Volumen zu transportieren. Objekte können voxelisiert werden und den Fluss im Fluidvolumen beeinflussen. Eine Temperatursimulation sorgt für eine realistische Rauchentwicklung, in dem Partikel, die sich von eine Wärmequelle entfernen zu Boden fallen. Der Rauch kann zudem durch die approximierte Simulation von Licht-Streuungseffekten (scattering) dynamisch und realitätsnah in Echtzeit beleuchtet werden Für eine möglichst artefaktfreie dreidimensionale Visualisierung des Volumens kommt als Rendering-Verfahren View-aligned Volume Slicing zum Einsatz. Ergebnis Das Ergebnis der Arbeit zeigt, Fluidsimulationen lassen sich heute mit Hilfe der GPU in Echtzeit in erstaunlicher Qualität darstellen und sogar in Echtzeitanwendungen integrieren. Es wurde neben der Fluidsimulation ein OpenGL-Renderer als Echtzeitanwendung entworfen, um die Möglichkeiten der Integration einer Fluidsimulation in eine solche Anwendung zu demonstrieren. In dem Programm können zudem zahlreiche Parameter der Fluidsimulation zur Laufzeit manipuliert und gespeichert werden. Der Nutzer kann sich so mit den vielfältigen Möglichkeiten und faszinierenden Effekten einer Fluidsimulation vertraut machen.
- The student research project presents a 3D real-time solution of grid-based navier-stokes computational fluid dynamics. Current features are dynamic voxelization of objects in the fluid volume taking influence on the fluid flow, simulation of temperature changes depending on the global environment temperature, the local temperature and local density, dynamic illumination approximating light-scattering effects and real-time volume visualization, using a view-aligned volume slicing technique combined with trillinear interpolation of density values between voxels of the fluid volume. With these features we are able to simulate and render high-quality smoke, fire, vapor and clouds in real-time. We used the GPU for all dynamic fluid computations and additional rendering features. In addition, we created a small OpenGL rendering application, demonstrating the possibility of integration of the fluid solver into a real-time application.
Author: | Franz Peschel |
---|---|
URN: | urn:nbn:de:kola-3339 |
Title Additional (English): | Simulation and Visualization of Fluids Dynamics for Real-Time Applications on the GPU |
Advisor: | Stefan Rilling |
Document Type: | Study Thesis |
Language: | German |
Date of completion: | 2009/08/31 |
Date of publication: | 2009/08/31 |
Publishing institution: | Universität Koblenz-Landau, Campus Koblenz, Universitätsbibliothek |
Granting institution: | Universität Koblenz, Fachbereich 4 |
Release Date: | 2009/08/31 |
Tag: | Echtzeit Anwendung; Fluid Simulation; GPU; Navier-Stokes-Gleichungen; Volumenvisualisierung Fluid dynamics; GPU; Navier"Stokes equations; Real-time computing; Volume Rendering |
Number of pages: | 54 |
Institutes: | Fachbereich 4 / Institut für Computervisualistik |
Dewey Decimal Classification: | 0 Informatik, Informationswissenschaft, allgemeine Werke / 00 Informatik, Wissen, Systeme / 004 Datenverarbeitung; Informatik |
Licence (German): | Es gilt das deutsche Urheberrecht: § 53 UrhG |