Filtern
Erscheinungsjahr
Dokumenttyp
- Bachelorarbeit (75) (entfernen)
Schlagworte
- Computervisualistik (6)
- Computergrafik (5)
- Android (4)
- OpenGL (4)
- Augmented Reality (3)
- GPGPU (3)
- Line Space (3)
- Virtual Reality (3)
- Applikation (2)
- Compute Shader (2)
Institut
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.
Thematik dieser Arbeit ist das dreidimensionale Image-Warping für diffuse und reflektierende Oberflächen. Das Warpingverfahren für den reflektierenden Fall gibt es erst seit 2014. Bei diesem neuen Algorithmus treten Artefakte auf, sobald ein Bild für einen alternativen Blickwinkel auf eine sehr unebene Fläche berechnet werden soll.
In dieser Arbeit wird der Weg von einem Raytracer, der die Eingabetexturen erzeugt, über das Warpingverfahren für beide Arten der Oberflächen, bis zur Optimierung des Reflective-Warping-Verfahrens erarbeitet. Schließlich werden die Ergebnisse der Optimierung bewertet und in den aktuellen sowie zukünftigen Stand der Technik eingeordnet.
Die vorliegende Arbeit stellt eine Rigid-Body Physik-Engine vor, deren Schwerpunkt auf der Kollisionserkennung per GPU liegt. Die steigende Performanz und Zugänglichkeit moderner Grafikkarten sorgt dafür, dass sich diese auch für Algorithmen nutzen lassen, die nicht nur zur Bilderzeugung gedacht sind. Dieser Vorteil wird genutzt, um eine effiziente auf Partikeln basierende Kollisionserkennung zu implementieren. Mit Hilfe einer Testumgebung wird dann der Performance-Unterschied zwischen CPU und GPU dargestellt.
Diese Arbeit präsentiert einen Ansatz zur Optimierung der Berechnung von Halbschatten flächiger Lichtquellen. Die Lichtquelle wird durch Sampling uniform abgetastet. Als Datenstruktur wird ein N-tree verwendet, durch den die Strahlen als Paket traversiert werden. Der N-tree speichert in seinen Knoten einen Linespace, der Informationen über Geometrie innerhalb eines Schaftes bietet. Diese Sichtbarkeitsinformation wird als Kriterium für eine Terminierung eines Strahles genutzt. Zusätzlich wird die Grafikkarte (kurz GPU – engl. „graphics processing unit“) zur Beschleunigung durch Parallelisierung benutzt. Die Szene wird zunächst mit OpenGL gerendert und anschließend der Schattenwert für jedes Pixel auf der GPU berechnet. Im Anschluss werden die CPU- und GPU-Implementationen verglichen. Dabei zeigt die GPU-Implementation eine Beschleunigung von 86% gegenüber der CPU-Implementation und bietet eine gute Skalierung mit zunehmender Dreieckszahl. Die Verwendung des Linespace beschleunigt das Verfahren gegenüber der Durchführung von Schnitttests und zeigt für eine große Anzahl an Strahlen keine visuellen Nachteile.
Augmented Reality besitzt viele denkbare Anwendungsbereiche, in denen Alltag oder Arbeitsprozesse vereinfacht werden können. Dadurch, dass viele Hersteller sehr unterschiedliche Augmented Reality Brillen anbieten, wird die Auswahl des richtigen Systems und eine systemübergreifende Entwicklung jedoch erschwert. Im Rahmen dieser Bachelorarbeit wird daher eine Anwendung entwickelt, mit der Augmented Reality Brillen auf einem Virtual Reality System simuliert werden können. Damit soll eine plattformübergreifende Entwicklung sowie die Auswahl des richtigen Systems vereinfacht werden.
Da die Simulation für mobile Endgeräte konzipiert werden soll, sollen möglichst realistische Umgebungen als Panorama vorgerendert werden können. Um diese auf Virtual Reality Systemen als stereoskopische Bilder darstellen zu können, werden verschiedene Verfahren zur Konvertierung in solche vorgestellt. Es wird ein Editor entwickelt, mit dem verschiedene Szenarien erstellt, Augmented Reality Systeme konfiguriert und schließlich auf einem Virtual Reality System angezeigt werden können. Abschließend wird untersucht, wie gut die Simulation gelungen ist und welche Verbesserungsmöglichkeiten es gibt.
Bei der musikalischen Grundausbildung von Kindern und Jugendlichen besteht eine spezielle Herausforderung darin, den Kindern das Notenlesen und -schreiben näher zu bringen. Bei der Ausbildung von jungen Nachwuchssängerinnen und -sängern eines Chores ist es zudem wichtig sie damit vertraut zu machen niedergeschriebene Noten direkt in Töne umzusetzen.
Eine interessante Idee ist es, den Kindern während des Unterrichts die Töne auf einem Klavier oder Keyboard vorzuspielen und diese gleichzeitig auf einem Bildschirm in Notenschrift visuell darzustellen.
Ziel dieser Bachelorarbeit ist die Implementierung eines solchen Systems, welches das Einspielen von Noten mit Hilfe eines MIDI-fähigen Keyboards und die anschließende visuelle Wiedergabe der Noten in Notenschrift umsetzt. Die prototypische Anwendung arbeitet in drei Schritten.
Sie erhält über ein angeschlossenes Keyboard die Noten in Form von MIDIDatensätzen als Eingabe. Diese MIDI-Informationen werden dann in das MusicXML-Format überführt. Ausgehend von dieser Notation in Music-XML wird abschließend die visuelle Ausgabe in Form von Notenschrift generiert und angezeigt.
Der natürliche Prozess der Verwitterung ist ein komplexer Vorgang, der von unterschiedlichsten Parametern beeinflusstwird. Hauptbestandteil dieses Prozesses ist das Zusammenziehen des Fruchtvolumens infolge von Wasserverlust durch Transpiration sowie die Veränderung der Fruchtfarbe und Oberfläche. Es wurden bereits Verfahren entwickelt, die diese Eigenschaften mit Hilfe von Parametrisierung sowie physikalischer Ansätze simulieren. Die in dieser Arbeit erstellte Anwendung simuliert das Fruchtfleisch durch ein Tetraedernetz und die Veränderung der Haut mit Hilfe von dynamischer Texturanpassung. Der entwickelte Algorithmus arbeitet in linearer Laufzeit und seine Ergebnisse werden anhand selbst erstellter Fruchtmodelle präsentiert.
Entwicklung eines augmentierten Montageszenarios mit Lego-Bausteinen für die Microsoft HoloLens
(2017)
Augmented Reality ist schon seit einigen Jahren in verschiedenen Formen verfügbar. Durch Fortschritte in der Technik können nun auch kompakte Augmented Reality Brillen hergestellt werden, wodurch sich viele neue Möglichkeiten der Interaktion und Anwendung von Augmented Reality eröffnen.
Diese Arbeit beschäftigt sich mit der Microsoft HoloLens und den Möglichkeiten, welche die Brille für Verbraucher und Industrie bieten kann. Im Rahmen dieser Arbeit wurde eine interaktive und augmentierte Anwendung entwickelt, um die Grenzen und Möglichkeiten der Microsoft HoloLens zu bewerten. Dazu wurde exemplarisch ein Montageszenario nachgestellt, bei dem ein Modell aus Lego-Bausteinen zusammengesetzt wird. Die HoloLens zeigt dabei schrittweise an, wo die nächsten Bausteine platziert werden sollen. Dabei stellte sich heraus, dass die HoloLens schon heute Vorteile bei der Montage bietet und gut zur Unterstützung von Arbeitsschritten verwendet werden kann, es wurden allerdings auch einige Schwächen deutlich.
In dieser Arbeit werden zwei Verfahren zur Berechnung der globalen Beleuchtung vorgestellt. Das Erste ist eine Erweiterung von Reflective Shadow-Maps um einen Schattentest, womit Verdeckungsbehandlung erreicht wird. Das zweite Verfahren ist ein neuer, auf Light-Injection basierender, bidirektionaler Ansatz. Dabei werden Strahlen aus Sicht der Lichtquelle verfolgt und in der Linespace Datenstruktur in Schächten gespeichert, die eine Diskretisierung der Raumrichtungen darstellen. Die Linespaces sind dabei in ein Uniform Grid eingebettet. Beim Auslesen der vorberechneten indirekten Beleuchtung sind im Idealfall keine Traversierung der Datenstruktur und keine weitere Strahlverfolgung mehr notwendig. Damit wird eine Varianzreduzierung und eine schnellere Berechnung im Vergleich zu Pathtracing erzielt, wobei sich insbesondere Vorteile in stark indirekt beleuchteten Bereichen und bei Glas ergeben. Die Berechnung der globalen Beleuchtung ist allerdings approximativ und führt zu sichtbaren Artefakten.
In dieser Arbeit werden Methoden und Maße getestet, nach denen beim Pathtracing eine Auswahl zwischen Line Space und Bounding Volume Hierarchie getroffen werden kann, die die Vorteile der beiden Datenstrukturen ausnutzen. Die Strukturen sind innerhalb der Bounding Box jedes Objekts (Objektlokal) definiert und jeder Line Space enthält in den Shafts jeweils eine Kandidaten-ID. Als Implementations- basis dient ein eigenes C++ und OpenGL Framework, in dem das Pathtracing und die Line Space Generierung über Compute Shader stattfindet. Die Maße schließen die Wahrscheinlichkeitsverteilung, die Effektabhängigkeit, sowie einen Distanz- grenzwert ein und werden gegen verschiedene Szenen getestet. Die Ergebnisse zeigen in den meisten Situationen einen deutlichen Geschwindigkeitszuwachs bei teils nur geringen visuellen Unterschieden, wobei das Wahrscheinlichkeitsmaß die qualitativ hochwertigsten Bilder für den gegebenen Leistungszuwachs erbringt. Die grundlegenden Probleme des Line Space im Vergleich mit der BVH, nämlich der hohe Speicherverbrauch und die lange Generierungszeit, bleiben aber trotz der objektlokalen Struktur, der minimalen Datenmenge pro Shaft und der Compute Shader Implementierung, erhalten.