Filtern
Dokumenttyp
- Bachelorarbeit (17)
- Masterarbeit (2)
Schlagworte
- Computervisualistik (4)
- Computergrafik (3)
- Line Space (3)
- Datenstruktur (2)
- Global Illumination (2)
- Linespace (2)
- Path Tracing (2)
- Raytracing (2)
- Realistische Computergrafik (2)
- 3D-Scan (1)
Im Rahmen dieser Masterarbeit wird das Prinzip des hybriden Ray Tracing, einer Kombination einer Rasterisierungs-Pipeline mit Ray Tracing-Verfahren für einzelne Effekte, vorgestellt und eine Anwendung implementiert, welche innerhalb einer hybriden Ray Tracing-Pipeline Schatten, Umgebungsverdeckung
und Reflexionen berechnet und diese Effekte mit der direkten Beleuchtung kombiniert.
Das hybride Ray Tracing basiert auf der Idee, die Performance und Flexibilität von Rasterisierungs-Pipelines mit Ray Tracing zu kombinieren, um die Limitation der Rasterisierung, nicht auf die gesamte Umgebungsgeometrie an jedem Punkt zugreifen zu können, aufzuheben.
Im Rahmen der Implementation wird in die verwendete RTX-API sowie die Grafikschnittstelle Vulkan eingeführt und diese anhand der Implementation erklärt. Auf Grundlage der Ergebnisse und der Erkenntnisse bei der Nutzung der API wird diese, ihre Einsatzzwecke und Ausgereiftheit belangend, eingeschätzt.
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.
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.
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.
Hubschrauber sind aus heutiger Sicht unverzichtbar. Eine Reihe von Anwendungsgebieten zeigt das Einsatzspektrum, die andere Flugmuster im Vergleich zum Hubschrauber nicht leisten können. Allerdings handelt es sich bei einem Hubschrauber um ein sowohl technologisch als auch physikalisch hochkomplexes System. Entsprechend aufwendig ist die Aus- und Weiterbildung von Piloten. Gerade in den letzten zwei Jahrzehnten hat sich daher die Flugsimulation als wertvolle Ergänzung zum klassischen Training herausgestellt. Mittels Flugsimulatoren ist es möglich, schwierige oder gar gefährliche Situationen bedarfsgerecht nachzuempfinden und zu üben. Im Rahmen dieser Arbeit soll ein vereinfachter Hubschraubersimulator, basierend auf Starkörperkinematik, entwickelt werden. Dabei wird ein idealisiertes Rotormodell angenommen und auf komplexe strömungsmechanische Phänomene verzichtet, um eine Implementation übersichtlich zu illustrieren und echtzeitfähig zu sein. Dabei sind die Module dementsprechend in der Unreal Engine umgesetzt, dass eine Adaption an andere Flugmuster ohne großen Aufwand möglich ist.
Diese Arbeit zeigt eine neue Technik der Computergrafik zur Simulation von globaler Beleuchtung durch Path Tracing in Echtzeit. Das Path Tracing wird dafür mit Compute Shadern auf der Grafikkarte (GPU) realisiert, um das Rendering hoch parallelisiert auszuführen. Zur Beschleunigung der Strahlverfolgung wird dabei der
Line Space in verschiedenen Varianten als Datenstruktur verwendet, um leere Bereiche in der Szene schneller zu überspringen. Der Line Space speichert Szeneninformationen basierend auf einer Voxelisierung in richtungsabhängige Shafts und wird sowohl auf der GPU generiert, als auch traversiert. Mit diesem Verfahren kann eine Szene physikalisch korrekt indirekt beleuchtet und mit weichen Schatten schattiert werden. Außerdem kann das Path Tracing damit weitgehend unabhängig von der Polygonanzahl mit über 100 Bildern pro Sekunde klar in Echtzeit durchgeführt werden und ist somit deutlich schneller als mit einem vergleichbaren Voxel-Gitter. Die Bildqualität wird davon nicht negativ beeinflusst und die Schattenqualität ist in den meisten Fällen deutlich besser als bei der Verwendung von Shadow-Mapping.
Ein Gonioreflektometer ist ein Gerät zum Vermessen der Reflexionseigenschaften von Materialien. Ein solche Apparatur wird in dieser Arbeit mit handelsüblichen Bauteilen gebaut. Dafür werden drei Schrittmotoren und 809 Leuchtdioden mit einem Arduino-Mikrocontroller gesteuert. Als Reflexionsdaten werden RGB-Bilder mit einer industriellen Kamera aufgenommen. Zusätzlich wird eine Steuersoftware für verschiedene Aufnahmeprogramme sowie ein Renderer zum Anzeigen der vermessenen Materialien implementiert. Somit können komplette bidirektionale Reflektanz-Verteilungsfunktionen (BRDFs) aufgenommen und gerendert werden, wodurch selbst komplizierte anisotrope Materialeigenschaften repräsentierbar sind. Die Qualität der Ergebnisse ist aufgrund von Schattierungen zwar Artefakt-behaftet, jedoch können diese Artefakte durch entsprechende Algorithmen wie Inpainting weitestgehend behoben werden. Außerdem wurde das Gonioreflektometer auf andere Anwendungen übertragen. So sind ohne Veränderungen am Gerät auch 3D-Scans, Lichtfeldaufnahmen und Light-Staging möglich. Auch die Qualität der Ergebnisse dieser Aufnahmeverfahren entspricht den Erwartungen im positiven Sinne. Somit ist das in dieser Arbeit gebaute Gonioreflektometer im Vergleich zu anderen Publikationen eine breit anwendbare und kostengünstige Alternative.
Diese Arbeit beschäftigt sich mit verschiedenen Ansätzen zur Beschleunigung von Raytracing Berechnungen auf dem Grafikprozessor (GPU). Dazu wird ein Voxelgrid verwendet, welches durch die Linespace-Datenstruktur erweitert wird. Der Linespace besteht aus richtungsbasierten Schäften (Shafts) und speichert die in ihm liegenden Objekte in einer Kandidatenliste. Es werden unterschiedliche Methoden zur Sortierung und Traversierung des Linespace vorgestellt und evaluiert. Die Methoden können keinen Anstieg der Bildfrequenz erreichen, ohne gleichzeitig in einer Verringerung der Bildqualität zu resultieren.
Eine genaue Schneesimulation ist der Schlüssel zur Erfassung der charakteristischen Visualisierung von Schnee. Aufwendige Methoden existieren, die versuchen Schneeverhalten ganzheitlich zu ergreifen. Die Rechenkomplexität dieser Ansätze hindert sie daran, Echtzeitfähigkeit zu erreichen. Diese Arbeit stellt drei Methoden vor, die unter Verwendung der GPU eine echtzeitfähige Deformation einer Schneeoberoberfläche darstellen. Die Ansätze werden hinsichtlich ihrer wahrheitsgetreuen Schneedarstellung untersucht und nach ihrer Fähigkeit, mit einer zunehmenden Anzahl von schneeverformenden Objekten zu skalieren. Die Ergebnisse zeigen, dass die Methoden bei mehreren hunderten schneeverformenden Objekten ihre Echtzeitfähigkeit beibehalten. Jedoch benachteiligen die charakteristischen Einschränkungen jener Methoden die visuellen Resultate. Ein experimenteller Ansatz ist es, die Anzahl der schneeverformenden Objekte zu reduzieren und durch Zusammenfügen der Methoden ein genaueres, kombiniertes Verformungsmuster zu erzeugen.