Commit 75d1c2d5 by Kai Westerkamp

.

parent 2a617d94
Pipeline #127 skipped
Ausarbeitung/Bilder/Tree.png

144 KB | W: | H:

Ausarbeitung/Bilder/Tree.png

105 KB | W: | H:

Ausarbeitung/Bilder/Tree.png
Ausarbeitung/Bilder/Tree.png
Ausarbeitung/Bilder/Tree.png
Ausarbeitung/Bilder/Tree.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -73,7 +73,7 @@ Hierbei ist $I_L$ die einfallende Lichtintensität, $k_d$ und $k_s$ materialabhÃ
\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)}$$
$$G(v;p,\lambda,c) = c*e{^{\lambda(v \cdot 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:
......@@ -220,7 +220,10 @@ L(x,o) \approx t_N \cdot H(r'_h) \int_{\Omega^N} G(r;r_h,\lambda_h,c_h)dr
Da sich $\Omega_N$ nicht bekannt ist, integrieren wir über die komplette Hemisphäre und ersetzen $\Omega_N$ durch eine Binäre Maske $V_{\Omega_N}(r)$.
$$\int_{\Omega^N} G(r;r_h,\lambda_h,c_h)dr = \int_{\Omega} G(r;r_h,\lambda_h,c_h)V_{\Omega_N}(r)dr$$
\begin{equation}
\label{recieverNode}
\int_{\Omega_N} G(r;r_h,\lambda_h,c_h)dr = \int_{\Omega} G(r;r_h,\lambda_h,c_h)V_{\Omega_N}(r)dr
\end{equation}
Diese Binärmaske lässt sich wiederum durch eine SG approximierbar $V_{\Omega_N}(r) \approx G(r;r_N,\lambda_N,c_N) = G_N(r)$.
Hierbei ist $r_N$die Richtung von $I_N$ zu X und die Sharpness errechnet aus der Varianz und Dreiecksfläche des Knotens.
......@@ -230,35 +233,37 @@ Damit erhalten wir ein Integral über 2 SG, dass wie oben beschrieben einen anal
\section{Abschätzung des Fehlers}
\label{ch:Content4:sec:Section2}
Bei der Abschätzung der Funktion $V_{\Omega_N}(r)$ kann zu großen Fehlern führen.
Ist der Fehler eines Knoten zu groß so wird er in die beiden Kinderknoten aufgesplittet.
Um die Obergrenze des Fehlers in Gelchung \ref{recieverNode} abzuschätzen, berechnen wir die größten und kleinsten Werte der SG $g_{min}$ \& $g_{max}$, der Winkel $\Omega_N$ $||\Omega_N ||_{min}$ $||\Omega_N ||_{max}$ und der Texturwerte $t_{min}$ $t_{max}$.
Der Fehler lässt sich dann mit $H(r'_h)*(t_{max}*g_{max}*||\Omega_N ||_{max} -t_{min}*g_{min}*||\Omega_N ||_{min})$ berechnen.
Die Texturewerte werden in dem jeweiligen Knoten gespeichert und die restlichen Werte können aus der Bounding Box und der Normaleinverteilung des Knotens errechnet werden.
\begin{figure}
\begin{center}
\includegraphics[width=.7\textwidth]{Bilder/tree.png}
\includegraphics[width=1\textwidth]{Bilder/tree.png}
\label{img:tree}
\caption{a) Der Binärbaum der Dreiecke mit Bounding Box und normal cone. b) ein Beispiel Reflectorcut, c) Direction cone, d) die Berechnung eines Central Cones\cite{Wang09asia}}
\caption{a) Der Binärbaum der Dreiecke mit Bounding Box und normal cone. b) ein Beispiel Reflectorcut, c) Direction cone \cite{Wang09asia}}
\end{center}
\end{figure}
%% ==============
\chapter{Sichtbarkeitsproblem}
\chapter{Implementierung}
\label{ch:Content5}
%% ==============
VSM und ISM
%% ==============
\chapter{Implementierung}
\label{ch:Content6}
%% ==============
Soll ich sowas überhaupt behandeln?
\section{Sichtbarkeit}
\label{ch:Content4:sec:Section2}
Bisher haben wir die Berechnung der Ruflektion von Licht aus einer Lichtquelle über ein Dreieck zu einem Oberflächenpunkt.
Dabei haben wir nicht betrachtet ob der Lichtpfad durch Objekte blockiert ist.
Um die Sichtbarkeit zwischen Lichtquelle und dem Reflektor zu evaluieren wird Variance Shadow Map (VSM) verwendet.
Hier wird von der Lcihtquelle eine Shadowmap
%% ==============
\chapter{Ergebnisse und Vergleiche}
\label{ch:Content7}
\label{ch:Content6}
%% ==============
Soll ich sowas überhaupt behandeln?
......
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