Die Berechnung der Beleuchtung einer Szene spielt in der Filmindustrie sowie bei der Computerspiel-Entwicklung eine wichtige Rolle. Eine korrekte und authentische Beleuchtungsberechnung ist eine zentrale Problemstellung aus dem Bereich der Computer Graphik. Diese Arbeit beschäftigt sich mit einem Beleuchtungsmodell, welches diffuse und spiegelnde Reflexionen berücksichtigt. In diesem Zusammenhang wird ein Ray-Tracer vorgestellt, welcher eine Szene rendert und eine Bilddatei erstellt. Zunächst werden die grundlegenden Funktionalitäten und der Aufbau des Ray-Tracers erklärt. Das Vorgehen besteht aus drei Schritten: (I) Es wird eine Schnittpunktberechnung zwischen einem Sehstrahl und einer Kugel oder einem Dreieck durchgeführt. (II) Schließlich werden die diffusen Reflexionen der Objekte berechnet. (III) Abschließend werden die spiegelnden Reflexionen der Objekte ermittelt. Im Ergebnis wurde ein Ray-Tracer konzipiert, der diffuse und spiegelnde Reflexionen berechnen kann. Außerdem unterstützt der RayTracer unterschiedliche Lichtquellen und Kamerapositionen. Die erstellten Bilder veranschaulichen die Mächtigkeit des Ray-Tracing Verfahrens.
Inhaltsverzeichnis
1 EINFÜHRUNG
2 VERWANDTE ARBEITEN
3 KONZEPT
4 PROTOTYPISCHE REALISIERUNG
4.1 Schnittpunktberechnung
4.1.1 Kugel
4.1.2 Dreieck
4.2 Diffuse Reflexion
4.3 Spiegelnde Reflexion
5 DISKUSSION UND ERGEBNISSE
6 ZUSAMMENFASSUNG UND AUSBLICK
Zielsetzung & Themen
Die vorliegende Arbeit befasst sich mit der Konzeption und technischen Umsetzung eines Ray-Tracers zur realistischen Beleuchtungsberechnung. Ziel ist es, ein Beleuchtungsmodell zu entwickeln, das sowohl diffuse als auch spiegelnde Reflexionen bei verschiedenen Objekten (Kugeln und Dreiecksnetzen) berücksichtigt und dabei auftretende Hindernisse bei der Implementierung adressiert.
- Grundlagen und Funktionsweise von Ray-Tracing-Verfahren
- Mathematische Schnittpunktberechnung für Kugeln und Dreiecke
- Implementierung von Reflexionsmodellen (Blinn-Phong)
- Lösung von Problemen bei der Schattenberechnung mittels Bias-Anpassung
Auszug aus dem Buch
4.1 Schnittpunktberechnung
Beim Ray-Tracing werden häufig Kugeln verwendet, da die Schnittpunktberechnung einfach zu realisieren ist. Die folgende Formel beschreibt die Kugeloberfläche mit dem Kugelmittelpunkt (C = Cx, Cy, Cz):
(x - Cx)^2 + (y - Cy)^2 + (z - Cz)^2 = R^2
Der Radius R wird schließlich durch den Vektor von C = (Cx, Cy, Cz) nach P = (x, y, z) berechnet, wobei P den Schnittpunkt des Sehstrahls mit der Kugeloberfläche darstellt. R^2 kann also wie folgt berechnet werden:
(P - C) · (P - C) = R^2
Im nächsten Schritt muss berechnet werden, wann der Sehstrahl P(t) = O + tD die Kugeloberfläche schneidet. O bezeichnet die Position der Kamera. Die Formel kann erweitert werden, indem der Punkt P(t) in die Gleichung 4.4 eingesetzt wird. Im nächsten Schritt kann diese Gleichung, indem alles auf die linke Seite gebracht und erweitert wird, wie folgt umgestellt werden:
Zusammenfassung der Kapitel
1 EINFÜHRUNG: Diese Einleitung erläutert die Relevanz von Ray-Tracing in Film und Spielentwicklung und definiert die Forschungsfragen zur Umsetzung diffuser und spiegelnder Reflexionen.
2 VERWANDTE ARBEITEN: Hier werden bestehende Verfahren zur globalen Beleuchtungsberechnung wie Radiosity, klassisches Ray-Tracing und Path-Tracing im wissenschaftlichen Kontext eingeordnet.
3 KONZEPT: Dieses Kapitel stellt das grundlegende Vorgehen der Arbeit vor, welches in drei Phasen unterteilt ist: Schnittpunktberechnung, diffuse Reflexion und spiegelnde Reflexion.
4 PROTOTYPISCHE REALISIERUNG: Das Hauptkapitel beschreibt die Implementierung des Ray-Tracers in C++, einschließlich der mathematischen Herleitung für Schnittpunkte und der Anwendung des Blinn-Phong-Reflexionsmodells.
5 DISKUSSION UND ERGEBNISSE: Hier werden die Render-Ergebnisse der verschiedenen Lichtszenarien präsentiert und aufgetretene Implementierungsprobleme sowie deren Lösungen, wie etwa die Anwendung eines Bias, diskutiert.
6 ZUSAMMENFASSUNG UND AUSBLICK: Das Fazit fasst die erreichten Ziele zusammen und gibt einen Ausblick auf mögliche Erweiterungen des Ray-Tracers, wie beispielsweise transparente Materialien.
Schlüsselwörter
Ray-Tracing, Computer Graphik, Beleuchtungsmodell, diffuse Reflexion, spiegelnde Reflexion, Blinn-Phong-Modell, Schnittpunktberechnung, Schattenwurf, Rendering, C++, Vektorrechnung, Punktlichtquelle, Strahlverfolgung, Geometrie, Bildsynthese
Häufig gestellte Fragen
Worum geht es in dieser Studienarbeit grundsätzlich?
Die Arbeit beschäftigt sich mit der Entwicklung eines eigenen Ray-Tracing-Programms, das in der Lage ist, Szenen mit verschiedenen geometrischen Objekten physikalisch korrekt zu beleuchten.
Was sind die zentralen Themenfelder der Arbeit?
Die Arbeit fokussiert sich auf die mathematischen Grundlagen der Schnittpunktberechnung, die Umsetzung von Beleuchtungsmodellen für diffuse und spiegelnde Oberflächen sowie die Handhabung von Schatteneffekten.
Welches Ziel verfolgt die Forschungsarbeit?
Primäres Ziel ist die erfolgreiche Realisierung eines funktionsfähigen Ray-Tracers und die Analyse der dabei auftretenden Hindernisse bei der Implementierung globaler Beleuchtungsverfahren.
Welche wissenschaftliche Methode kommt zum Einsatz?
Es wird eine analytische Methode zur Schnittpunktberechnung verwendet und für die Lichtberechnung auf das Blinn-Phong-Reflexionsmodell zurückgegriffen.
Was wird im Hauptteil der Arbeit behandelt?
Der Hauptteil widmet sich der konkreten Implementierung der Datenstrukturen (z.B. Vec3-Klasse), der mathematischen Herleitung der Strahlschnittpunkte für Kugeln und Dreiecke sowie der Definition der Reflexionsformeln.
Welche Keywords charakterisieren die Arbeit am besten?
Ray-Tracing, Beleuchtungsmodell, diffuse Reflexion, spiegelnde Reflexion, Schnittpunktberechnung und C++ sind die zentralen Begriffe.
Warum wurde in der Arbeit das Blinn-Phong-Modell gewählt?
Das Modell wurde gewählt, da es die aufwendige Berechnung des Reflexionsvektors durch die Nutzung eines Half-Way-Vektors beschleunigt und somit effizienter für die Reflexionsberechnung ist.
Was war die Ursache für die fehlerhaften schwarzen Punkte bei den Dreiecken?
Es stellte sich heraus, dass der Schattenfühler teilweise das Objekt selbst schnitt, was durch die Addition eines kleinen Bias-Werts in Richtung der Normale korrigiert werden konnte.
- Quote paper
- Patrick Tinz (Author), Janik Tinz (Author), 2021, Realisierung eines Beleuchtungsmodells mithilfe von Ray-Tracing, Munich, GRIN Verlag, https://www.grin.com/document/1041332