Filtern
Schlagworte
- Linespace (3) (entfernen)
Institut
- Institut für Computervisualistik (3) (entfernen)
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.
Diese Arbeit zeigt die Verwendung einer lokalen Linespace Datenstruktur, welche auf Basis eines bestehenden GPU-basierten Raytracers mit globa- ler Linespace Datenstruktur konzipiert und implementiert wird. Für jedes Szenenobjekt wird ein N-Tree generiert, dessen Knoten jeweils einen Line- space besitzen. Dieser speichert in seinen SchäftenInformationen über exis- tierende Geometrie. Ein Schaft stellt ein Volumen zwischen zwei Flächen auf der Knotenaußenseite dar. Dies ermöglicht bei der Strahlverfolgung ein schnelleres Überspringen leerer Räume. Identische Objekte können auf bereits berechnete Linespaces zurückgreifen, wodurch der Speicherbedarf um bis zu 94,13% und die Initialisierungszeit der Datenstruktur um bis zu 97,15% vermindert werden kann. Aufgrund der lokalen Zugriffsmöglich- keiten könnendynamische Szenen visualisiertwerden. Dabei ist ebenso ein Anstieg der Qualität zu beobachten.
Die folgende Arbeit analysiert die Funktionsweise und Programmiermöglichkeiten von Compute Shadern. Dafür wird zunächst in Kapitel 2 eine Einführung in Compute Shader gegeben, in der gezeigt wird, wie diese funktionieren und wie sie programmiert werden können. Zusätzlich wird das Zusammenspiel von Compute Shadern und OpenGL 4.3 anhand zweier einführender Beispiele gezeigt. Kapitel 3 beschreibt dann eine N-Körper Simulation, welche implementiert wurde um die Rechenleistung von Compute Shadern und den Einsatz von gemeinsamen Speicher zu zeigen. Danach wird in Kapitel 4 gezeigt, inwiefern sich Compute Shader für physikalische Simulationen eignen und wo Probleme auftauchen können. In Kapitel 5 wird ein eigens konzipierter und entwickelter Algorithmus zur Erkennung von Linien in Bildern beschrieben und anschließend mit der Hough Transformation verglichen. Zuletzt wird in Kapitel 6 ein abschließendes Fazit gezogen.