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.
Das performante Rendering großer Volumendaten stellt trotz stetig gestiegener Prozessorleistungen nach wie vor hohe Anforderungen an jedes zugrunde liegende Visualisierungssystem. Insbesondere trifft dies auf direkte Rendering-Methoden mithilfe des Raycasting-Verfahrens zu, welches zum einen eine sehr hohe Qualität und Genauigkeit der generierten Bilder bietet, zum anderen aber aufgrund der dafür nötigen hohen Abtastrate relativ langsam ist. In dieser Studienarbeit wird ein Verfahren zur Beschleunigung des Raycasting- Visualierungsansatzes vorgestellt, das auf adaptivem Sampling beruht. Dabei werden statische Volumendaten zunächst in einem Vorverarbeitungsschritt einer Gradientenanalyse unterzogen, um so ein Interessensvolumen zu erstellen, das wichtige und weniger wichtige Bereiche kennzeichnet. Dieses Volumen wird anschließend von einem Raycaster genutzt, um adaptiv für jeden Abtaststrahl die Schrittweite zu bestimmen.