Commit ccd95c47 by Kai Westerkamp

.

parent 6a7d9476
Pipeline #149 passed with stage
......@@ -94,3 +94,32 @@ address = {New York, NY, USA}
address = {New York, NY, USA},
}
@book{Jensen:2001:RIS:500844,
author = {Jensen, Henrik Wann},
title = {Realistic Image Synthesis Using Photon Mapping},
year = {2001},
isbn = {1-56881-147-0},
publisher = {A. K. Peters, Ltd.},
address = {Natick, MA, USA},
}
@article{Sloan:2002:PRT:566654.566612,
author = {Sloan, Peter-Pike and Kautz, Jan and Snyder, John},
title = {Precomputed Radiance Transfer for Real-time Rendering in Dynamic, Low-frequency Lighting Environments},
journal = {ACM Trans. Graph.},
issue_date = {July 2002},
volume = {21},
number = {3},
month = jul,
year = {2002},
issn = {0730-0301},
pages = {527--536},
numpages = {10},
url = {http://doi.acm.org/10.1145/566654.566612},
doi = {10.1145/566654.566612},
acmid = {566612},
publisher = {ACM},
address = {New York, NY, USA},
keywords = {Monte Carlo techniques, graphics hardware, illumination, rendering, shadow algorithms},
}
......@@ -45,8 +45,14 @@ Diese werden bei diesen Materialien durch Glanzlichter sichtbar wie in Abbildung
\section{Photon Mapping}
\label{ch:Content1:sec:Section2}
%% ===========================
Bei Photon Mapping wird Photonen von der Lichtquelle ausgesendet, in der Szene verteilt und in einer Photon Map gespeichert.
Im zweiten Durchlaufg
Bei Photon Mapping \cite{Jensen:2001:RIS:500844} wird Photonen von der Lichtquelle ausgesendet, in der Szene verteilt und in einer Photon Map gespeichert.
Im zweiten Durchlauf wird mit Raytracing Methoden die Photon Map ausgewertet.
\section{Precomputed Radiance Transfer}
Bei Precomputed Radiance Transfer \cite{Sloan:2002:PRT:566654.566612} wird indirektes Licht in Echtzeit erreicht, indem der Lichttransport in statischen Szenen vorberechnet und gespeichert wird.
Zum Speichern wird hierbei eine effiziente Methode benötigt, wie zum Beispiel Spherical Harmonics.
%% ==============
\chapter{BRDF und Spherical Gaussians}
......@@ -335,7 +341,7 @@ So erhält man eine nicht ganz akkurate Prioritätenliste, aber eine ausreichend
In diesem Kapitel wird der vorgestellete Algorithmus mit anderen verglichen. Außerdem wird die Wahl der Punktlichter und des Fehler Grenzwertes betrachtet.
\section{Genauigkeit des Algorithmus}
In Abbildung \ref{img:Compare} wird die Indirekte Reflektion eines Dreeicks mit unterschiedlichen BRDF's.
In Abbildung \ref{img:Compare} wird die Indirekte Reflektion eines Dreiecks mit unterschiedlichen BRDF's.
In der Szene steht das Reflektor Dreieck senkrecht auf eine Ebene und ein Licht im 45 Grad Winkel zur Ebene.
Die Ebene hat eine Lambert BRDF und das Dreieck hat pro Reihe eine unterschiedliche Glossiness.
Der vorgestellte Algorithmus hat bereits bei eine 3 geteilten Approximation der Funktion \ref{1DFunction} sehr starke Ähnlichkeiten zur Referenz.
......@@ -348,9 +354,27 @@ Größere Fehler wie 5\% ergeben eine bessere Performance produzieren aber sicht
Auch die Wahl von 200 Virtual Pointlights zur Bestimmung der Sichtbarkeit wurde getestet.
Weniger Lichter führt zu sichtbaren Fehlern und ab 200 sind die Bilder sehr ähnlich zur Referenz.
\section{Vergleiche}
\section{Vergleiche und Fazit}
In Abbildung \ref{img:Compare} sind Vergleichsbilder mit VPL gegeben. Hier kann man erkennen, das VPLs für diffuse Materialien gut funktionieren.
Bei spekularen Materialien werden jedoch sehr schnell Artefakte sichtbar.
In Vergleich zu Photon Mapping in ähnlicher Zeit produziert der Algorithmus weniger rauschen.
Mit vieler mehr Photonen lassen sich bessere Ergebnisse erzielen, jedoch ist es dann nicht mehr fest interaktiv.
Bei einfachen Szenen mit verschiedensten Materialien werden gute Bilder errechnet (siehe Abbildung \ref{img:Glossiness}.
Auch für komplexere, texturierte Szenen überzeugt der Algorithmus und kann sogar überzeugende Kaustiken berechnen (siehe Abbildung \ref{img:beispiel}).
Die Performance auf einer NVIDIA Geforce GTX690 Grafikkarte reichen von 0,03 fps bei 720p für sehr komplexe Szenen bis zu 1,4 fps bei einfachen Szenen (Magic cube).
Der Algorithmus erreicht also gute Ergebnisse für Szenen mit vielen unterschiedlichen Materialien und ist dabei fast Interaktiv.
Die Grenze liegt jedoch bei indirekter Beleuchtung mit einer Reflektion.
Indirektes Licht über mehrere Reflexionen werden nicht betrachtet.
Prinzipiell könnte man den Algorithmus so anpassen das auch 2 Reflexionen betrachtet werden, jedoch liegt der Aufwand bei $O(N^2)$ mit N Dreiecken.
Jede mögliche Kombination zwischen Reflektor 1 und 2 müsste betrachtet werden.
\begin{figure}
\begin{center}
\includegraphics[width=1\textwidth]{Bilder/Glossiness.png}
\label{img:Glossiness}
\caption{Würfel auf Ebenen mit jeweils verschiedenen spekularen Materialien \cite{Wang09asia} }
\end{center}
\end{figure}
\begin{figure}
\begin{center}
......@@ -362,13 +386,7 @@ Weniger Lichter führt zu sichtbaren Fehlern und ab 200 sind die Bilder sehr äh
\end{figure}
\begin{figure}
\begin{center}
\includegraphics[width=1\textwidth]{Bilder/Glossiness.png}
\label{img:Glossiness}
\caption{Würfel auf Ebenen mit jeweils verschiedenen spekularen Materialien \cite{Wang09asia} }
\end{center}
\end{figure}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment