Filtern
Dokumenttyp
- Bachelorarbeit (5)
- Studienarbeit (1)
Sprache
- Deutsch (6) (entfernen)
Schlagworte
- OpenGL (6) (entfernen)
Simulation von Schnee
(2015)
Physik-Simulationen erlauben die Erstellung dynamischer Szenen auf dem Rechner. Sie lassen die Computergrafik lebendig werden und finden unter anderem Anwendung in Film, Spiel und Ingenieurswesen. Durch GPGPU-Techniken kann diese Arbeit erstmals auf der Grafikkarte stattfinden. Die dynamische Simulation von Schnee ist ein Gebiet, das aufgrund seiner physikalischen Komplexität noch wenig erforscht ist. Die Materie-Punkt-Methode ist das erste Modell, dass in der Lage ist die Dynamik und verschiedenen Arten von Schnee darzustellen.
Die hybride Nutzung von Lagrange-Partikeln und einem kartesischen Euler-Gitter ermöglichen das Lösen der partiellen Differentialgleichungen. Die Partikel werden dazu auf die Gitterknoten transformiert. Durch Anwendung der Finite-Elemente-Methode auf das Gitter können Gradienten zur Aktualisierung der Geschwindigkeit berechnet werden. Die Geschwindigkeiten werden dann auf die Partikel zurückgewichtet, um diese in der Simulation voranschreiten zu lassen. Gepaart mit einem spezifischen Materialmodell wird die dynamische Natur von Schnee erlangt. Diese schließt Kollision und Bruch mit ein.
Diese Bachelorarbeit verbindet die kürzlich erschienenen GPGPU-Techniken von OpenGL mit der Materie-Punkt-Methode, um die verschiedenen Schneearten dynamisch, visuell ansprechend und effizient zu simulieren
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.
Die vorliegende Arbeit befasst sich mit der Anwendung und Optimierung globaler Beleuchtung in dreidimensionalen Szenen. Dabei wird nicht nur die direkte Beleuchtung in Abhängigkeit einer oder mehrerer Lichtquellen, sondern auch indirekte Beleuchtung durch umliegende Objekte berücksichtigt. Schwerpunkt dieser Arbeit ist es, die Ergebnisse eines globalen Beleuchtungsverfahrens durch die Implementation unter OpenGL 4.4 zu verbessern. Dies geschieht mithilfe einer Voxelisierung der Szene. Durch eine Traversierung der entstehenden Voxel-Struktur werden zusätzliche Informationen der Szene entnommen, was zu einer realistisch wirkenden globalen Beleuchtung beiträgt.
Winzige vom Wind getriebene Wellen, flache, lange Wellen, steile sich überlagernde Wellen oder stürmische Brecher, sie alle kommen in jedem der Weltmeere und sogar in kleinen Seen vor. Die Wasseroberfläche ist eines der vielfältigsten Naturphänomene. Nicht nur die Bewegung der Wellen, auch die Spiegelung von Himmel, Sonne und Küste machen die Meeresoberfläche einzigartig. Gerade diese einzigartige Komplexität stellt ihre ganz eigenen Herausforderungen an die Nachahmung solcher Phänomene. Deshalb stellt die Berechnung von Wellen schon seit gut 400 Jahren Mathematiker vor eine große Aufgabe.
In den letzten fünfzig Jahren hat sich diese Herausforderung immer mehr in den Bereich der Informatik verschoben. Computergrafiker versuchen seit Jahrzehnten Wasser realistisch darzustellen. Die Forschung auf diesem Gebiet reicht mittlerweile von einfachen Ansätzen wie Rauschfiltern bis zu mathematisch hoch komplexen Ansätzen, wie der Fourier Transformation.
In der nachfolgenden Arbeit wird sowohl auf die geschichtliche Entwicklung der heutigen Wellentheorien, als auch auf die mathematischen Grundlagen dieser eingegangen. Schwerpunkt der Arbeit ist es, diese Methoden in OpenGL 3.3 zu implementieren.
Diese Arbeit vermittelt die mathematischen Grundlagen des Ray-Casting Algorithmus und bespricht eine interaktive Umsetzung auf Grafikkarten mit Hilfe einer modernen Schnittstelle. Die Implementation erfolgt im Rahmen eines umfassenden Programmes, welches weitere Techniken und Verbesserungen des Algorithmus für den Nutzer anwählbar macht. Unter anderem wird von Transferfunktionen und lokaler Beleuchtung Gebrauch gemacht, um realistische Materialien darstellen zu können. Die Benutzeroberfläche bietet die Möglichkeit, Volumina zu importieren, Transferfunktionen zu definieren, Parameter der Darstellung einzustellen und weitere Techniken zu aktivieren, deren Grundlagen und Umsetzung ebenfalls in dieser Arbeit dargelegt werden. Der Nutzen der anwählbaren Optionen wird je nach Fall auf optische Qualität oder Vorteil in der Performance hin untersucht.
In der vorliegenden Studienarbeit wird eine OpenGL-Applikation vorgestellt, die Geometrie-Shader in einem Feedback-Loop einsetzt, um auf der GPU Geometrie zu erzeugen. Dargelegt werden die erforderlichen Grundlagen Geometrie-Shader und Transform Feedback betreffend, die Umsetzung der Anwendung und die eingesetzten GLSL-Shader.