Filtern
Dokumenttyp
- Bachelorarbeit (2)
- Diplomarbeit (1)
- Dissertation (1)
- Masterarbeit (1)
Schlagworte
- Raytracing (5) (entfernen)
Institut
- Institut für Computervisualistik (5) (entfernen)
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.
Die Raytracing-Beschleunigung durch dedizierte Datenstrukturen ist schon lange ein wichtiges Thema der Computergrafik. Im Allgemeinen werden dafür zwei unterschiedliche Ansätze vorgeschlagen: räumliche und richtungsbezogene Beschleunigungsstrukturen. Die vorliegende Arbeit stellt einen innovativen kombinierten Ansatz dieser beiden Bereiche vor, welcher weitere Beschleunigung der Strahlenverfolgung ermöglicht. Dazu werden moderne räumliche Datenstrukturen als Basisstrukturen verwendet und um vorberechnete gerichtete Sichtbarkeitsinformationen auf Basis von Schächten innerhalb einer originellen Struktur, dem Line Space, ergänzt.
Im Laufe der Arbeit werden neuartige Ansätze für die vorberechneten Sichtbarkeitsinformationen vorgeschlagen: ein binärer Wert, der angibt, ob ein Schacht leer oder gefüllt ist, sowie ein einzelner Vertreter, der als repräsentativer Kandidat die tatsächliche Oberfläche approximiert. Es wird gezeigt, wie der binäre Wert nachweislich in einer einfachen, aber effektiven Leerraumüberspringungs-Technik (Empty Space Skipping) genutzt wird, welche unabhängig von der tatsächlich verwendeten räumlichen Basisdatenstruktur einen Leistungsgewinn beim Raytracing von bis zu 40% ermöglicht. Darüber hinaus wird gezeigt, dass diese binären Sichtbarkeitsinformationen eine schnelle Technik zur Berechnung von weichen Schatten und Umgebungsverdeckung auf der Grundlage von Blockerapproximationen ergeben. Obwohl die Ergebnisse einen gewissen Ungenauigkeitsfehler enthalten, welcher auch dargestellt und diskutiert wird, zeigt sich, dass eine weitere Traversierungsbeschleunigung von bis zu 300% gegenüber der Basisstruktur erreicht wird. Als Erweiterung zu diesem Ansatz wird die repräsentative Kandidatenvorberechnung demonstriert, welche verwendet wird, um die indirekte Lichtberechnung durch die Integration von kaum wahrnehmbaren Bildfehlern signifikant zu beschleunigen. Schließlich werden Techniken vorgeschlagen und bewertet, die auf zweistufigen Strukturen und einer Nutzungsheuristik basieren. Diese reduzieren den Speicherverbrauch und die Approximationsfehler bei Aufrechterhaltung des Geschwindigkeitsgewinns und ermöglichen zusätzlich weitere Möglichkeiten mit Objektinstanziierungen und starren Transformationen.
Alle Beschleunigungs- und Speicherwerte sowie die Näherungsfehler werden gemessen, dargestellt und diskutiert. Insgesamt zeigt sich, dass durch den Line Space eine deutliche Erhöhung der Raytracing Leistung auf Kosten eines höheren Speicherverbrauchs und möglicher Annäherungsfehler erreicht wird. Die vorgestellten Ergebnisse zeigen damit die Leistungsfähigkeit des kombinierten Ansatzes und eröffnen weitere Möglichkeiten für zukünftige Arbeiten.
Die Computergrafik befasst sich mit der Erzeugung von virtuellen Bildern. Im Bereich der 3D-Computergrafik werden die dargestellten Objekte im dreidimensionalen Raum beschrieben. Dazu bedient man sich diverser Generierungsverfahren. Einer dieser so genannten Renderer ist das Raytracing-Verfahren. Es erfreut sich in der Computergrafik wegen der erreichten Bildqualität bei ueberschaubarer Komplexität großer Beliebtheit. Dabei wird versucht, immer realistischere Ergebnisse zu erreichen. In der Vergangenheit wurde Raytracing deswegen beispielsweise um globale Beleuchtungsmodelle oder um reflektierende beziehungsweise um transparente Objekte erweitert. Dabei wurde aber ein wichtiger Punkt häufig vernachlässigt, welcher ebenfalls den Grad an Realismus deutlich erhöhen kann: die Kamera. Meistens geht man auch heutzutage von einem vereinfachten Lochkameramodell aus. Aus diesem Grund genügen solche Modelle nicht den Ansprüchen physikalisch-korrekter Renderingverfahren. Eine wirklich umfassend korrekte Abbildung von Szenen darf also nicht vernachlässigen, dass ein generiertes Bild durch ein Linsensystem noch einmal entscheidend beeinflusst wird. In dieser Arbeit wird deswegen ein physikalisch korrektes Kameramodell vorgestellt, welches die geometrischen Eigenschaften des Linsensystems berücksichtigt und die Belichtung auf der Bildebene korrekt berechnet.
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.
Eine der grundlegenden Entscheidungen bei der Entwicklung eines Systems ist die Darstellung der Daten. Üblicherweise werden in der Computergrafik Objekte durch Dreiecke dargestellt. Allerdings existieren viele weitere Varianten, welche andere Stärken und Schwächen besitzen. In dieser Arbeit soll die Repräsentation von Objekten durch Distanzfelder untersucht werden. Distanzfelder sind Funktionen, welche für jeden Raumpunkt die Distanz zum nächsten Oberflächenpunkt angeben. Aus dieser einfachen Beschreibung lassen sich viele interessante Eigenschaften ableiten, welche zur Darstellung einer Vielzahl von Formen, Operationen und Effekten genutzt werden können. Es wird ein Überblick über die Hintergründe und Methoden des Distanzfeld-Renderings gegeben. Weiterhin werden verschiedene neue oder erweiterte Ansätze vorgestellt, etwa zur Darstellung impliziter Oberflächen, approximativer indirekter Beleuchtung oder einer GPU Implementation.