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)
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.
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.
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.
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.
The development of a game engine is considered a non-trivial problem. [3] The architecture of such simulation software must be able to manage large amounts of simulation objects in real-time while dealing with “crosscutting concerns” [3,p. 36] between subsystems. The use of object oriented paradigms to model simulation objects in class hierarchies has been reported as incompatible with constantly changing demands during game development [2, p. 9], resulting in anti-patterns and eventual, messy refactoring.[13]
Alternative architectures using data oriented paradigms revolving around object composition and aggregation have been proposed as a result. [13, 9, 1, 11]
This thesis describes the development of such an architecture with the explicit goals to be simple, inherently compatible with data oriented design, and to make reasoning about performance characteristics possible. Concepts are formally defined to help analyze the problem and evaluate results. A functional implementation of the architecture is presented together with use cases common to simulation software.
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.
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.
Die vorliegende Arbeit befasst sich mit der Entwicklung einer interaktiven Applikation unter Android, welche das Spielen eines Kartenspiels ermöglicht. Exemplarisch wurde das hebräische Spiel Yaniv implementiert. Schwerpunkt ist die Herausarbeitung benötigter Hintergrundkomponenten und die dazugehörige Umsetzung in jener Applikation. Benötigte Spielprozesse werden durchleuchtet und eine mögliche Lösungsvariante aufgezeigt.
In dieser Bachelorarbeit wird ein System zur Simulation der Bewegung von Molekülen entworfen. Die Berechnungen der Kräfte zwischen chemisch gebundenen Atomen sowie zwischenmolekularer Kräfte werden fast vollständig auf der GPU durchgeführt. Die Visualisation der Simulation findet in einer interaktiven Bildwiederholrate statt. Um eine Darstellung in Echtzeit auf den meisten handelsüblichen Grafikkarten zur ermöglichen, sind geschickte Optimierungen und leichte Abstraktionen der physikalischen Modelle notwendig. Zu jeder Zeit kann die Ausführungsgeschwindigkeit der Simulation verändert oder vollständig gestoppt werden. Außerdem lassen sich einige Parameter der zugrundeliegenden physikalischen Modelle der Simulation zur Laufzeit verändern. Mit den richtigen Einstellung der Parametern lassen sich bestimmte Phänomene der Molekulardynamik, wie zum Beispiel die räumliche Struktur der Moleküle, beobachten.
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.