Commit b54cbedc by Kai Westerkamp

.

parent 521d54e8
Pipeline #124 skipped
......@@ -14,7 +14,7 @@ Einheitlicher Algorythmus für BRDF's mit allen Frequenzen.\\
\chapter{Ähnliche Arbeiten}
\label{ch:Content1}
%% ==============
Ich bin mir hier noch nicht ganz sicher welche ich nehmen soll. Ich werde nicht die Zeit haben mich in alleaus dem Paper genügend tief einzulesen
Ich bin mir hier noch nicht ganz sicher welche ich nehmen soll. Ich werde nicht die Zeit haben mich in alle aus dem Paper genügend tief einzulesen
%% ===========================
\section{Virtual Point Lights}
......@@ -25,7 +25,7 @@ Auf jeden Fall, die kommen nacher noch bei Sichtbarkeit
%% ===========================
\section{Photon Mapping}
\section{Photon Mapping}+
\label{ch:Content1:sec:Section2}
%% ===========================
\dots
......@@ -34,25 +34,25 @@ Auf jeden Fall, die kommen nacher noch bei Sichtbarkeit
\chapter{BRDF und Spherical Gausians}
\label{ch:Content2}
%% ==============
Die korrekte Beleuchtungsberechnung ist ein zentraler Bestandteil der Computegrafik.
Besonders bei Szenen mit vielen unterscheidlichen Materialien stellt dies eine große Herausvorderung dar.
Die korrekte Beleuchtungsberechnung ist ein zentraler Bestandteil der Computergrafik.
Besonders bei Szenen mit vielen unterschiedlichen Materialien stellt dies eine große Herausforderung dar.
Zur pyhsikalischen Beleuchutngsberechnung muss hierzu die Renderingelichung berechnet werden.
Zur physikalischen Beleuchtungsberechnung muss hierzu die Rendergleichung berechnet werden.
\begin{equation}
\label{renderingGleichung}
L(x,o) = L_e(x,o) + \int_{\Omega^+}f_r(i,x,o)L_i(x,i)cos\theta_idi
L(x,o) = L_e(x,o) + L_r(x,o) = L_e(x,o) + \int_{\Omega^+}f_r(i,x,o)L_i(x,i)max(0,i\cdot n)di
\end{equation}
Hierbei ist $ L(x,o)$ die Radiance die an einem Oberflächenpunkt x in die Richtung o (outgoing) abgegebn wird.
$ L_e(x,o)$ ist dei von dem Oberfläöchenpunkt emitierte Licht, und das Integral das reflektierte Licht in die Richtung o.
Das reflektierte Richt wird bestimmt durch das Intergral über die positive Hemisphäre, wobei $ L_i(x,i)$ das einfallende Licht aus der Richtiung i (incoming),
$cos\theta_i$ der Winkel zwischen der Oberflächennormale und $\omega_i$
Hierbei ist $ L(x,o)$ die Radiance die an einem Oberflächenpunkt x in die Richtung o (outgoing) abgegeben wird.
$ L_e(x,o)$ ist die von dem Oberflächenpunkt emittierte Licht, und das Integral das reflektierte Licht in die Richtung o.
Das reflektierte Richt wird bestimmt durch das Integral über die positive Hemisphäre, wobei $ L_i(x,i)$ das einfallende Licht aus der Richtung i (incoming),
$max(0,i\cdot n)$ der Winkel zwischen der Oberflächennormale n und i,
nd $f_r(i,x,o)$ (kurz $f_r(i,o)$) die \textit{Bidirectional Reflectance Distribution Function} (BRDF).
Die BRDF ist vom Material abhängig und gibt an einem Oberflächenpunkt x an wie viel Licht vom Einfallswinkel i in die Ausfallsrichtung o reflektiert wird.
Die BRDF ist vom Material abhängig und gibt an einem Oberflächenpunkt x an wie viel Licht vom Einfallswinkel i in die Ausfallrichtung o reflektiert wird.
In der Render Gleichung \ref{renderingGleichung} ist $L_i(x,i) = L(y,-i) $ mit $y = ray(x,i)$ geschreiben werden. Somit erhält man eine rekursive Darstellung.
Diese zu lösen ist eine komplexe Aufgabe und wird haufig durch Aproximationen anegnähert und Vorberechntet um Beleuchtung in Echtzeit zu berechnen.
In der Rendergleichung \ref{renderingGleichung} ist $L_i(x,i) = L(y,-i) $ mit $y = ray(x,i)$ geschrieben werden. Somit erhält man eine rekursive Darstellung.
Diese zu lösen ist eine komplexe Aufgabe und wird häufig durch Approximationen angenähert und Vorberechnet um Beleuchtung in Echtzeit zu berechnen.
Z.B. ignoriert man alle indirekte Beleuchtung und betrachtet nur alle Oberflächen, bei denen $L_e$ > 0 ist.
In dieser Ausarbeitung wird ein Algorythmus vorgestellt der die Gleichung mit einer indirekten Reflektion auswertet.
In dieser Ausarbeitung wird ein Algorithmus vorgestellt der die Gleichung mit einer indirekten Reflektion auswertet.
\todo{Quelle 02 BRDF Photosynthese S34}
......@@ -63,40 +63,104 @@ In dieser Ausarbeitung wird ein Algorythmus vorgestellt der die Gleichung mit ei
\end{center}
\end{figure}
Eine einfache BRDF ist durch das Phong Beleuchtungsmodell gegeben.
Die Beleuchtung wird in eine diffuse und Spekulare Komponennte getrennt.
Der diffuse Anteil wird brechnet durch $k_d*I_L*(N*L)$ und der spekulrare Anteil durch $k_s*I_L* (R*V)^n$.
Hierbei ist $I_L$ die einfallende Lichtintensität, $k_d$ und $k_s$ materialabhängige Konstannten und n der Phong Exponent, der die Größe der spekularen Glanzlichter beeinflusst.
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$.
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.
\subsection{Spherical Gausians}
\section{Spherical Gausians}
\label{ch:Content2:sec:Section1}
Eine Möglichkeit BRDF's zu approximieren bieten Spherical Gausians (SG).
Spherical Gaussian sind definiert als
$$G(v;p,\lambda,c) = c^{\lambda(v*p-1)}$$
mit p als Mittelachse, $\lambda$ als sharpness und c als Skalar.
Als kurze Schreibweise ist $G_l(v)=G(v;p_l,\lambda_l) = G(v;p_l,\lambda_l,1)$
BRDFsS können als Summe aus einem diffusen und einer spekularen Anteil beschrieben werden:
$$f_r(i,o) = k_d+k_sf_s(i,o)$$
In Wang et al.\cite{Wang09asia} wird beschreiben wie man die spekulare Komponetnte als Summe von SG dargestellt werden kann.
In Wang et al.\cite{Wang09asia} wird beschreiben wie man die spekulare Komponente als Summe von SG dargestellt werden kann.
$$K_sf_r(i,o) \approx \sum \limits_j=1^n G(i,o^j,\lambda^j,c^j)$$
mit $o^j$, $\lambda^j$, $c^j$ als Zentrum, sharpness und Koeffizeint 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.
$$ 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 Beispile finden , z.b. für Bling-Phong und Cook-Torrance.
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.
Des weiteren können Lichtquellen auch als SG ($G_l(i)$) dargestellt werden und somit eine einheitliche Darstellung als Summe von SG erzielt werden.
%% ==============
\chapter{Basis Algorythmus und One-bounce Interreflection}
\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.
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.
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.
\section{One-Bounce Interreflection}
\label{ch:Content3:sec:Section1}
\begin{figure}
\begin{center}
\includegraphics[width=.7\textwidth]{Bilder/Reflection.png}
\label{img:reflection}
\caption{Lichtpfad für die Reflexion an einem Dreieck \cite{Wang09asia}}
\end{center}
\end{figure}
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.
Für die Herleitung der Formel nehmen wir an das nichts zwischen x und T ist (Siehe Abb. \ref{img:reflection}).
Aus der Rendergleichung \ref{renderingGleichung} folgt für den Receiver:
\begin{equation}
\label{recieverEQ}
L(x,o) =\int_{\Omega^T}f_r(-r,x,o)L_i(x,-r)max(0,-r\cdot n_x)dr
\end{equation}
Wobei r die Richtung von einem Punkt y auf dem Reflektor ist und $\Omega_T$ die sphärische Projektion des Dreiecks T.
Für das einfallende Licht ist $L_i(x,-r) = L(y,r)$ :
\begin{equation}
\label{reflectorEQ}
L(y,r) =\int_{\Omega^T}f_r(i,y,r)G_l(i)max(0,i\cdot n_r)di
\end{equation}
Beim Receiver wird hier die SG der Lichtquelle eingesetzt.
\subsection{Reflektiertes Licht}
Im folgenden approximiern 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.
Damit erhält man die Konstannte $max(0,i_T(r)\cdot n_r)$ die man aus dem Integral ziehen kann.
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)$.
Das Integral über 2 SG kann durch ein SG angenähert werden (siehe Anhang von \cite{Wang09asia}).
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})
\begin{equation}
\label{reflectorEQ2}
L(y,r) \approx F(r) G(r;i_r,\lambda_r)
\end{equation}
\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.
\begin{equation}
L(x,o) =\int_{\Omega^T} F(r)max(0,-r\cdot n_x)G(r;i_r,\lambda_r) G(r;-o_x,\lambda_x,c_x)dr
\end{equation}
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.
Somit erhält man eine vereinfachte Version der Rendergleichung:
\begin{equation}
\label{recieverEQFinal}
L(x,o) \approx H(r'_h) \int_{\Omega^T} G(r;r_h,\lambda_h,c_h)dr
\end{equation}
\subsection{Integration über ein Sphärisches Dreieck}
\todo{hier etwas herleitung vlt?}
Um die Gleichung \ref{recieverEQFinal} zu berechnen muss das Integral über die Dreiecke berechnet werden.
Heir ergibt sich nach einigen U
%% ==============
\chapter{Basis Algorythmus und One-bounce Interreflection}
\label{ch:Content3}
%% ==============
Herleitung der stückweise definierten Liniaren Funktion. vermutlich ein paar unterkapittel
%% ==============
\chapter{Baumstruktur}
......
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