Filtern
Dokumenttyp
- Bachelorarbeit (3)
- Diplomarbeit (1)
- Studienarbeit (1)
Sprache
- Deutsch (5) (entfernen)
Schlagworte
- GPGPU (5) (entfernen)
In dieser Bachelorarbeit wird ein Simulationscode für astrophysikalische
Simulationen von Fluiden unter dem Einfluss ihrer eigenen
Gravitation entwickelt. Der Code wird hauptsächlich von der GPU
ausgeführt. Leichte Vereinfachungen der physikalischen Modelle und
einige Parameter zum Steuern von Genauigkeit und Rechenaufwand
ermöglichen das Simulieren mit interaktiver Bildwiederholrate auf den
meisten handelsüblichen, modernen Computern mit einer dedizierten
Grafikkarte. Der Simulationscode wird verwendet, um die Entstehung
von Sternen aus einer Gaswolke zu simulieren. Einige Merkmale der
Sternentstehung, wie zum Beispiel Akkretionsscheiben und Fragmentierung,
lassen sich selbst bei niedrigen Partikelzahlen beobachten.
Das Rendering-Verfahren des Ray-Tracings ermöglicht die realitätsnahe Umsetzung der Bildgenerierung einer modellierten Szene und ist aufgrund seiner Arbeitsweise in der Lage, optische Phänomene und komplexe Beleuchtungsszenarien darzustellen. Allerdings bedarf es bei der Bilderzeugung einer enormen Anzahl an Berechnungen pro Pixel, wodurch Realisierungen eines Ray-Tracers in der Praxis Ergebnisse erzielen, die weit unter der in der Computergraphik angestrebten Echzeitdarstellung von 60 Bildern pro Sekunde entfernt liegen. Aktuelle Modelle der Graphics Processing Unit (GPU) ermöglichen die hochgradige Parallelisierung der Ausführung von allgemeinen Berechnungen. Mit Hilfe der Graphik-API OpenGL wird diese Parallelisierung nutzbar gemacht und ein vollständig auf der GPU ausgeführter Ray-Tracer entworfen und realisiert. Der entwickelte Ansatz wird durch die Integration eines Uniform Grids - einer beschleunigenden Datenstruktur des Ray-Tracings - erweitert, woraus eine Steigerung der Performanz zu erwarten ist.
Ziel dieser Arbeit ist die Implementierung eines auf der GPU ausgeführten Ray-Tracers und die Erweiterung des Ansatzes durch die Verwendung eines Uniform Grids. Die Ermittlung der erzielbaren Leistung wird im Anschluss durchgeführt. Bei der Entwicklung und Implementierung werden mögliche Probleme bei der Umsetzung bezüglich der GPU-Programmierung aufgezeigt und analysiert.
Diese Arbeit vermittelt einen grundlegenden Überblick über die Funktionsweise und Implementierung von aktuellen Voxelisierungsstrategien auf der GPU. Neben etablierten Voxelisierungsverfahren mithilfe der Rasterisierungspipeline werden neue Möglichkeiten mithilfe von GPGPU-Programmierung untersucht. Auf der Basis der Programmiersprache C++ und der Grafikbibliothek OpenGL wird die Implementierung mehrerer Verfahren erläutert.rnDie Verfahren werden hinsichtlich der Performanz und der Qualität der Voxelisierung verglichen und im Bezug auf mögliche Anwendungsfälle kritisch bewertet. Weiterhin werden zwei Beispielanwendungen beschrieben, in denen die Verwendung einer voxelisierten Szene eine Erweiterung von bestehenden Echtzeitgrafikverfahren ermöglicht. Zu diesem Zweck werden die Konzepte und die Implementierungen von Transmittance Shadow Mapping und von Reflective Shadow Mapping, das um voxelbasierte Umgebungsverdeckung erweitert wird, erläutert. Abschließend wird die anhaltende Relevanz von Voxelisierung in einem Ausblick auf aktuelle Forschungen und weitere Anwendungen und Erweiterungen der vorgestellten Verfahren aufgezeigt.
In dieser Diplomarbeit wurde eine Applikation implementiert, mit der es auch ungeübten Nutzern möglich ist, 3D Modelle zu texturieren. Dies erfolgt durch direktes Bemalen des Modells, so genanntes 3D Painting. Verschiedene Möglichkeiten hierzu werden untersucht, so das projektive Malen, sowie Octree Texturen.
In dieser Studienarbeit wird ein Partikelsystem zur Feuersimulation vorgestellt, sowie die wichtigsten verwendeten Techniken.(z.B. FBO's, VBO's, MRT, etc...) Das Partikelsystem ist ausschliesslich auf der GPU implementiert, ist damit eine GPGPU Anwendung, und verwendet neuste Techniken, wie zum Beispiel Texturzugriffe im Vertexshader. Nach einem Überblick über verschiedene Arten von Partikelsystemen, werden auch viele nötige Techniken erklärt, bevor die eigentliche Implementation und das Programm dargelegt werden.