Einheitlicher Algorythmus für BRDF's mit allen Frequenzen.\\
Einheitlicher Algorithmus für BRDF's mit allen Frequenzen.\\
%% ==============
%% ==============
...
@@ -31,7 +31,7 @@ Auf jeden Fall, die kommen nacher noch bei Sichtbarkeit
...
@@ -31,7 +31,7 @@ Auf jeden Fall, die kommen nacher noch bei Sichtbarkeit
\dots
\dots
%% ==============
%% ==============
\chapter{BRDF und Spherical Gausians}
\chapter{BRDF und Spherical Gaussians}
\label{ch:Content2}
\label{ch:Content2}
%% ==============
%% ==============
Die korrekte Beleuchtungsberechnung ist ein zentraler Bestandteil der Computergrafik.
Die korrekte Beleuchtungsberechnung ist ein zentraler Bestandteil der Computergrafik.
...
@@ -69,36 +69,36 @@ Eine einfache BRDF ist durch das Phong Beleuchtungsmodell gegeben.
...
@@ -69,36 +69,36 @@ Eine einfache BRDF ist durch das Phong Beleuchtungsmodell gegeben.
Die Beleuchtung wird in eine diffuse und spekulare Komponente getrennt.
Die Beleuchtung wird in eine diffuse und spekulare Komponente getrennt.
Der diffuse Anteil wird berechnet durch $k_d*I_L*(N\cdot L)$ und der spekulrare Anteil durch $k_s*I_L*(R\cdot V)^n$.
Der diffuse Anteil wird berechnet durch $k_d*I_L*(N\cdot L)$ und der spekulrare Anteil durch $k_s*I_L*(R\cdot V)^n$.
Hierbei ist $I_L$ die einfallende Lichtintensität, $k_d$ und $k_s$ materialabhängige Konstanten und $n$ der Phong Exponent, der die Größe der spekularen Glanzlichter beeinflusst.
Hierbei ist $I_L$ die einfallende Lichtintensität, $k_d$ und $k_s$ materialabhängige Konstanten und $n$ der Phong Exponent, der die Größe der spekularen Glanzlichter beeinflusst.
\todo{siehe Bild Nummer 3.1}
\todo{siehe Bild Nummer 3.1, da nur dort die Größen eingeführt werden}
\section{Spherical Gausians}
\section{Spherical Gaussians}
\label{ch:Content2:sec:Section1}
\label{ch:Content2:sec:Section1}
Eine Möglichkeit BRDF's zu approximieren bieten Spherical Gausians (SG).
Eine Möglichkeit BRDF's zu approximieren, bieten Spherical Gaussians (SG).
mit $o^j$, $\lambda^j$, $c^j$ als Zentrum, sharpness und Koeffizient der j. SG.
mit $o^j$, $\lambda^j$, $c^j$ als Zentrum, sharpness und Koeffizient der $j$ SG.
Die Diffuse Komponente kann als SG mit 0 sharpness dargestellt werden.
Die diffuse Komponente kann als SG mit 0 sharpness dargestellt werden.
$$ kd = G(i;2(o*n)n-o,0,k_d)$$
$$ kd = G(i;2(o*n)n-o,0,k_d)$$
Es kann somit die BRDF als Summe von SG dargestellt werden. In \cite{Wang09asia} lassen sich hierfür Beispiele finden, z.b. für Bling-Phong und Cook-Torrance.
Es kann somit die BRDF als Summe von SGs dargestellt werden. In \cite{Wang09asia} lassen sich hierfür Beispiele finden, z.B. für Bling-Phong und Cook-Torrance.
Des weiteren können Lichtquellen auch als SG ($G_l(i)$) dargestellt werden und somit eine einheitliche Darstellung als Summe von SG erzielt werden.
Des Weiteren können Lichtquellen auch als SGs ($G_l(i)$) dargestellt werden und somit kann eine einheitliche Darstellung als Summe von SGs erzielt werden.
%% ==============
%% ==============
\chapter{Basis Algorythmus und One-bounce Interreflection}
\chapter{Basis Algorithmus und One-bounce Interreflection}
\label{ch:Content3}
\label{ch:Content3}
%% ==============
%% ==============
In dem Paper von Xu et al. \cite{Xu:2014:PAR:2577382.2533687} wird ein Algorithmus vorgestellt der die Rendergleichung für die Rekursionstiefe 1 löst.
In dem Paper von Xu et al. \cite{Xu:2014:PAR:2577382.2533687} wird ein Algorithmus vorgestellt, der die Rendergleichung für die Rekursionstiefe 1 löst.
Zur Beleuchtung eines Dreiecks (Empfänger) wird zusätzlich das indirekte Licht von anderen Dreiecken (Reflektor) berechnet.
Zur Beleuchtung eines Dreiecks (Empfänger) wird zusätzlich das indirekte Licht von anderen Dreiecken (Reflektor) berechnet.
Dabei wird die SG Darstellung von BRDF's verwendet und daraus eine stückweise definierte Approximation hergeleitet um die Beleuchtung effizienter zu berechnen.
Dabei wird die SG-Darstellung von BRDF's verwendet und daraus eine stückweise definierte Approximation hergeleitet, um die Beleuchtung effizienter zu berechnen.
Anschließend wird eine Baumstruktur \ref{ch:Content4} eingeführt um diesen Algorithmus auch bei großen Szenen effizient anwenden zu können.
Anschließend wird eine Baumstruktur \ref{ch:Content4} eingeführt, um diesen Algorithmus auch bei großen Szenen effizient anwenden zu können.
Da nicht jedes Dreieck zu allen andern sichtbar ist und somit eine indirekt beleuchtet wird zuletzt eine Lösung für das Sichtbarkeitsproblem \ref{ch:Content5} beschrieben.
Da nicht jedes Dreieck für alle anderen sichtbar ist und somit indirekt beleuchtet wird, wird zuletzt eine Lösung für das Sichtbarkeitsproblem \ref{ch:Content5} beschrieben.
\section{One-Bounce Interreflection}
\section{One-Bounce Interreflection}
\label{ch:Content3:sec:Section1}
\label{ch:Content3:sec:Section1}
...
@@ -110,9 +110,9 @@ Da nicht jedes Dreieck zu allen andern sichtbar ist und somit eine indirekt bele
...
@@ -110,9 +110,9 @@ Da nicht jedes Dreieck zu allen andern sichtbar ist und somit eine indirekt bele
\caption{Lichtpfad für die Reflexion an einem Dreieck \cite{Wang09asia}}
\caption{Lichtpfad für die Reflexion an einem Dreieck \cite{Wang09asia}}
\end{center}
\end{center}
\end{figure}
\end{figure}
In diesem Abschnitt leiten wir die Reflexionsgleichung für einen Oberflächenpunkt X (receiver) mit Normale $n_x$ in Richtung o her.
In diesem Abschnitt leiten wir die Reflexionsgleichung für einen Oberflächenpunkt X (receiver) mit Normale $n_x$ in Richtung $o$ her.
Die SG Lichtquelle l wird hierbei an einem Dreieck T (reflector) mit Normale $n_r$ reflektiert.
Die SG Lichtquelle l wird hierbei an einem Dreieck T (reflector) mit Normale $n_r$ reflektiert.
Für die Herleitung der Formel nehmen wir an das nichts zwischen x und T ist (Siehe Abb. \ref{img:reflection}).
Für die Herleitung der Formel nehmen wir an, dass nichts zwischen x und T ist (Siehe Abb. \ref{img:reflection}).
Aus der Rendergleichung \ref{renderingGleichung} folgt für den Receiver:
Aus der Rendergleichung \ref{renderingGleichung} folgt für den Receiver:
\begin{equation}
\begin{equation}
...
@@ -130,23 +130,24 @@ Beim Receiver wird hier die SG der Lichtquelle eingesetzt.
...
@@ -130,23 +130,24 @@ Beim Receiver wird hier die SG der Lichtquelle eingesetzt.
\subsection{Reflektiertes Licht}
\subsection{Reflektiertes Licht}
Im folgenden approximiern wir die Gleichung \ref{reflectorEQ}, um eine besser berechenbare Funktion zu erhalten.
Im Folgenden approximieren wir die Gleichung \ref{reflectorEQ}, um eine besser berechenbare Funktion zu erhalten.
Der Cosinus Term $max(0,i\cdot n_r)$ durch die mittlere Richtung des Dreiecks T annähern.
Der Kosinus-Term $max(0,i\cdot n_r)$ durch die mittlere Richtung des Dreiecks T annähern.
Damit erhält man die Konstannte $max(0,i_T(r)\cdot n_r)$ die man aus dem Integral ziehen kann.
\todo{verstehe ich nicht - liegt vielleicht am fehlenden Verb}
Die BRDF $f_r(i,y,r)$ ist wie in Kapitel \ref{ch:Content2:sec:Section1} beschreiben als Summe von SG darstellbar $f_r(i,y,r)\approx G_T(i)$.
Damit erhält man die Konstante $max(0,i_T(r)\cdot n_r)$, die man aus dem Integral ziehen kann.
Das Integral über 2 SG kann durch ein SG angenähert werden (siehe Anhang von \cite{Wang09asia}).
Die BRDF $f_r(i,y,r)$ ist wie in Kapitel \ref{ch:Content2:sec:Section1} beschreiben als Summe von SGs darstellbar $f_r(i,y,r)\approx G_T(i)$.
Daraus ergibt sich eine Gleichung mit einer glatten Funktion und einer SG (genauen Parameter nahczulesen im paer von Wu et al. \ref{ch:Content2:sec:Section1})
Das Integral über 2 SGs kann durch ein SG angenähert werden (siehe Anhang von \cite{Wang09asia}).
Daraus ergibt sich eine Gleichung mit einer glatten Funktion und einer SG (die genauen Parameter sind nachzulesen im paper von Wu et al. \ref{ch:Content2:sec:Section1}).
\begin{equation}
\begin{equation}
\label{reflectorEQ2}
\label{reflectorEQ2}
L(y,r) \approx F(r) G(r;i_r,\lambda_r)
L(y,r) \approx F(r) G(r;i_r,\lambda_r)
\end{equation}
\end{equation}
\subsection{Beleuchtung mit dem reflektiertem Licht}
\subsection{Beleuchtung mit dem reflektiertem Licht}
Die Gleichung \ref{reflectorEQ2} wird nun in \ref{recieverEQ} eingesetzt und die BRDF als Summe von SG's ersetzt.
Die Gleichung \ref{reflectorEQ2} wird nun in \ref{recieverEQ} eingesetzt und die BRDF als Summe von SGs ersetzt.
Das Produkt zweier SG lässt sich durch eine SG ersetzen und die Funktion $ F(r)max(0,-r\cdot n_x)$ ist ``wirklich glatt'' \cite{Wang09asia} kann man es aus dem Integral ziehen.
Das Produkt zweier SGs lässt sich durch eine SG ersetzen und die Funktion $ F(r)max(0,-r\cdot n_x)$ ist ``wirklich glatt'' \cite{Wang09asia}. Man kann man es aus dem Integral ziehen.
Somit erhält man eine vereinfachte Version der Rendergleichung:
Somit erhält man eine vereinfachte Version der Rendergleichung: