Filtern
Dokumenttyp
- Bachelorarbeit (1)
- Masterarbeit (1)
Volltext vorhanden
- ja (2) (entfernen)
Institut
Simulation von Rauch
(2019)
Diese Bachelorarbeit befasst sich mit der Simulation von Rauch mittels einem Partikelsystem. Hierbei werden die Möglichkeiten untersucht Rauch möglichst realistisch in einem Partikelsystem zu implementieren und in Echtzeit berechnen zu lassen. Die physikalische Simulation basiert dabei auf den Arbeiten von Müller und Ren, welche sich mit den physikalischen Eigenschaften von Fluiden und Gasen beschäftigen. Die Simulation wurde mittels C++, OpenGL und der in OpenGL verfügbaren Compute-Shader auf der GPU implementiert. Dabei wurde ein besonderes Augenmerk darauf gelegt, dass diese möglichst performant ist. Hierfür werden Techniken von Hoetzlein benutzt um das Partikelsystem zu beschleunigen. Daraufhin wurden zwei Beschleunigungsverfahren implementiert und werden noch gegenübergestellt. Dabei werden die Laufzeit, sowie verbrauchter Speicherplatz der GPU betrachtet.
In dieser Arbeit werden die Möglichkeiten der Echtzeitvisualisierung von
OpenVDB-Dateien untersucht. Die Grundlagen von OpenVDB, dessen
Möglichkeiten, und NanoVDB, der GPU-Schnittstelle, werden erforscht.
Es wird ein System entwickelt, welches PNanoVDB, die Grafik-APIPortierung
von OpenVDB, verwendet. Außerdem werden Techniken
zur Verbesserung und Beschleunigung eines Einzelstrahlansatzes zur
Strahlenverfolgung getestet und angepasst. Um eine Echtzeitfähigkeit
zu realisieren, werden zwei Einzelstreuungsansätze implementiert, von
denen einer ausgewählt, weiter untersucht und optimiert wird.
Dies ermöglicht potenziellen Nutzern eine direkte Rückmeldung über
ihre Anpassungen zu erhalten, sowie die Möglichkeit, alle Parameter zu
ändern, um einen freien Gestaltungsprozess zu gewährleisten.
Neben dem visuellen Rendering werden auch entsprechende Benchmarks
gesammelt, um verschiedene Verbesserungsansätze zu vergleichen und
deren Relevanz zu beweisen. Um eine optimale Nutzung zu erreichen,
wird auf die Rendering-Zeiten und den Speicherverbrauch auf der GPU
geachtet. Ein besonderes Augenmerk wird auf die Integrierbarkeit und
Erweiterbarkeit des Programms gelegt, um eine einfache Integration in
einen bestehenden Echtzeit-Renderer wie U-Render zu ermöglichen.