Commit d674664c authored by Lukas Tietze's avatar Lukas Tietze

Expose final(?)

parent c01f48dd
\section{Bewertung}
Die beiden Umsetzungen sollen danach entsprechend der folgenden Kriterien bewertet werden:
Die beiden Umsetzungen sollen danach entsprechend der folgenden Kriterien bewertet und mit bestehenden
Verfahren verglichen werden.
%
\paragraph{Qualität:}
\begin{enumerate}
......@@ -15,3 +16,9 @@ Die beiden Umsetzungen sollen danach entsprechend der folgenden Kriterien bewert
\item Gibt es noch Optimierungspotenzial?
\end{enumerate}
%
\paragraph{Vergleich zu rasterbasierten Techniken:}
\begin{enumerate}
\item Liefert das Verfahren optisch bessere/detailliertere Ergebnisse?
\item Sind die Performancekosten in Bezug auf das erreichte Ergebnis mit bestehenden Verfahren
vergleichbar? Wie ist das \gquote{Kosten-Nutzen-Verhältnis}?
\end{enumerate}
\ No newline at end of file
......@@ -9,14 +9,13 @@
\item Hardwareunterstützung
\end{enumerate}
%
\item Die Rendergleichung und ihre Umsetzung mittels Raytracing
\item Die Rendergleichung und ihre (annähernde) Umsetzung mittels Raytracing
\item Implementierungsgrundlagen eines Raytracers mit Vulkan \& NVIDIA-Erweiterung
%
\item Darstellung von Strahlenbüscheln
\begin{enumerate}
\item Physikalische Grundlagen
\item Bisherige Forschung
%
\item Umsetzung durch Raytracing im Medium
%
\begin{enumerate}
......@@ -42,10 +41,4 @@
\end{enumerate}
%
\item Anhänge, Quellen, etc.
\end{enumerate}
%
% http://graphics.cs.aueb.gr/graphics/docs/papers/GraphiCon09_PapadopoulosPapaioannou.pdf
% https://graphics.stanford.edu/courses/cs348b-03/papers/veach-chapter9.pdf
% http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.671.766&rep=rep1&type=pdf
% https://nvpro-samples.github.io/vk_raytracing_tutorial/vkrt_tuto_intersection.md.html#environmentsetup/intersectionshader
% https://www.saschawillems.de/blog/2016/08/13/vulkan-tutorial-on-rendering-a-fullscreen-quad-without-buffers/
\ No newline at end of file
\end{enumerate}
\ No newline at end of file
......@@ -12,9 +12,9 @@ extrem bereichern.
\\
Der Effekt lässt sich auch gut während der Morgen- und Abenddämmerung beobachten.
Auch unter Wasser oder wenn die Sonne in einen nebligen Wald scheint, lässt sich der Effekt
beobachten. Ein künstlich erzeugtes Beispiel ist die Sichtbarmachung de Verlaufs eines Lasers durch Staub
beobachten. Ein künstlich erzeugtes Beispiel ist die Sichtbarmachung des Verlaufs eines Lasers durch Staub
oder Puder. Der Effekt lässt sich auch umgekehrt beobachten, das heißt, dass der Großteil eines Mediums von
Strahlenbüscheln erfüllt ist, dadurch heller aussieht und es aussieht als würden Objekte Schatten im Medium
Strahlenbüscheln erfüllt ist, dadurch heller wirkt und es aussieht als würden Objekte Schatten im Medium
erzeugen. Hieraus folgt auch die Überlegung, dass die Streuung von Licht im Medium praktisch immer auftritt,
jedoch normalerweise unbemerkt bleibt, weil das Licht an jedem Punkt des Mediums ähnlich gestreut wird.
......@@ -31,4 +31,4 @@ Dieser Effekt soll nun computergrafisch dargestellt, also in eine Szene gerender
natürlich sehr einfache Möglichkeiten, wie eine zuvor erzeugte Textur an einen bestimmten Platz zu rendern und
sehr aufwändige wie die physikalisch plausible Berechnung von Lichtbrechungen.\\
Das Ziel dieser Arbeit soll die Entwicklung eines Algorithmus' sein, der den oben besprochenen Effekt
physikalisch plausibel in beliebigen Szenen darstellen kann.
\ No newline at end of file
physikalisch plausibel in beliebigen Szenen darstellen kann und dazu primär Raytracing nutzt.
\ No newline at end of file
......@@ -43,14 +43,14 @@ Berechnung im Lightspace vorgenommen und nicht mittels Raytracing ausgeführt.
In diesem Video sagt Eric Haines in Bezug auf grafische Effekte beim Raytracing:
%
\begin{quote}
You can also atmospheric effects, so if, say you have a beam of light, you can do a thing called ray
You can also do atmospheric effects, so if, say you have a beam of light, you can do a thing called ray
marching, where the ray hits the beam, marches through it and light scattering in and light scattering out
and so and you just kind of walk through that thing and sample it as you go. And you can get these nice beams
of light, godrays, kind of effects.
\end{quote}
%
\paragraph{Anmerkung:} Der Begriff \gquote{ray marching} ist nicht eindeutig.
Prinzipiell beschreibt es - wie der Name vermuten lässt - eine Familie von Techniken, bei denen eine Strahl
Prinzipiell beschreibt es - wie der Name vermuten lässt - eine Familie von Techniken, bei denen ein Strahl
abgetastet wird, bzw. bei denen entlang eines Strahls eine Funktion berechnet wird. Häufig wird die Technik
genutzt um den Schnittpunkt eines Strahls mit der Szene zu bestimmen (z.B. wenn die Objekte der Szene nicht
als Dreiecke sondern als mathematische Definitionen vorliegen).
......@@ -80,20 +80,21 @@ ausgewertet und für den gesamten Block genutzt.
%
\subsection{Interactive Volumetric Shadows in Participating Media with Single-Scattering}
\label{interactiveVolumetricShadowsInParticipatingMediaWithSingleScattering}
\paragraph{Quelle:}C. Wyman and S. Ramsey,
\gquote{Interactive volumetric shadows in participating media with single-scattering,} 2008 IEEE Symposium on
\paragraph{Quelle:}C. Wyman and S. Ramsey,
\gquote{Interactive volumetric shadows in participating media with single-scattering,} 2008 IEEE Symposium on
Interactive Ray Tracing, Los Angeles, CA, 2008, pp. 87-92, doi: 10.1109/RT.2008.4634627.
\paragraph{Technik}
Wyman und Ramsey nutzen Raymarching wie Tóth und Umenhoffer (siehe
\ref{ss:realTimeVolumetricLightingInParticipatingMedia}), verbessern das Verfahren jedoch durch den Einsatz
Wyman und Ramsey nutzen Raymarching wie Tóth und Umenhoffer (siehe
\ref{ss:realTimeVolumetricLightingInParticipatingMedia}), verbessern das Verfahren jedoch durch den Einsatz
von Schattenvolumen. Dahinter steht die Überlegung, dass Bereiche im Schatten keinen Beitrag zum eingestreuten
Licht liefern und es daher reicht, die beleuchteten Bereiche zu sampeln. Diese Technik könnte auch helfen,
Licht liefern und es daher reicht, die beleuchteten Bereiche zu sampeln. Diese Technik könnte auch helfen,
beim Einsatz mit Raytracing die benötigten Sampel zu reduzieren. Jedoch erzeugt das Rendern von
Schattenvolumen auch gewisse Kosten und ist bei Szenen mit detaillierten Szenen (wie z.B. Gartenzäune) wenig
nützlich. In diesem Fall, so Wyman und Ramsey, verkommt der Algorithmus zu herkömmlichem Raymarching. Ein
Schattenvolumen auch gewisse Kosten und ist bei detaillierten Szenen mit vielen abwechselnd beleuchteten und
beschatteten Bereichen (wie z.B. entlang eines Gartenzaunes) wenig
nützlich. In diesem Fall, so Wyman und Ramsey, verkommt der Algorithmus zu herkömmlichem Raymarching. Ein
anderer Aspekt ist, dass detaillierte Schatten gerade eine Stärke von Raytracing sind und der Einsatz von
Schattenvolumen diesen Vorteil ignorieren würde. Jedoch lässt sich dieser Ansatz vielleicht irgendwie
einsetzen um die Sample entlang eines Strahls \gquote{intelligenter} zu verteilen und - wie im Paper
Schattenvolumen diesen Vorteil ignorieren würde. Jedoch lässt sich dieser Ansatz vielleicht irgendwie
einsetzen um die Sample entlang eines Strahls \gquote{intelligenter} zu verteilen und - wie im Paper
vorgestellt - weniger redundante Samples auszuwerten.
%
\subsubsection{Raytracing Gems}
......@@ -101,13 +102,14 @@ vorgestellt - weniger redundante Samples auszuwerten.
\paragraph{Quelle:} Eric Haines and Tomas Akenine-Möller (2019). Ray Tracing Gems. Apress.
\paragraph{Homepage:}\url{https://www.realtimerendering.com/raytracinggems/}
\paragraph{Inhalt:}
Das Buch fokussiert sich auf allgemeine (jedoch weit fortgeschrittene) Techniken rund ums Raytracing und
Das Buch fokussiert sich auf allgemeine (jedoch weit fortgeschrittene) Techniken rund ums Raytracing und
bietet damit eine wichtige Quelle. Nach einem ersten Überfliegen existiert kein Kapitel über das Rendern von
Strahlenbüscheln. Wichtig sind jedoch die dort aufgeführten Techniken zur Reduktion der genutzten Strahlen
und diverse Ausführungen zu hybriden Rendertechniken. Dabei sticht vor allem die temporale und spatiale
Strahlenbüscheln. Wichtig sind jedoch die dort aufgeführten Techniken zur Reduktion der genutzten Strahlen
und diverse Ausführungen zu hybriden Rendertechniken. Dabei sticht vor allem die temporale
Reprojektion heraus, dies ist eine Technik, bei der der Inhalt von früheren Bildern zum Rendern des aktuellen
Bildes genutzt wird. Eine dargestellte Anwendung (Kapitel 13 \gquote{Ray Traced Shadows: Maintaining
Real-Time Frame Rates}) bestand darin, aus alten Bildern zu bestimmen, welche Teile einer Szene im Licht,
im Kernschatten, bzw. im Halbschatten liegen. Für Bereiche, die im Kernschatten oder im Licht liegen reicht
Real-Time Frame Rates}) bestand darin, aus alten Bildern zu bestimmen, welche Teile einer Szene im Licht,
im Kernschatten, bzw. im Halbschatten liegen. Für Bereiche, die im Kernschatten oder im Licht liegen reicht
es pro Pixelgruppe einen \gquote{Kontrollstrahl} zu nutzen, für Pixel im Halbschatten werden mehrere Strahlen
pro Pixel genutzt um diese Bereiche realistischer zu rendern.
pro Pixel genutzt um diese Bereiche realistischer zu rendern. Eine Technik die sich auch nutzen ließe
um die Anzahl von Sampeln pro Frame in einem Medium zu reduzieren.
......@@ -55,8 +55,8 @@ Vorgehen ist das folgende:
%
Dabei ist natürlich vor allem auf die Performance zu achten. Je mehr Schattenfühler genutzt werden, desto
genauer wird das Ergebnis, desto teurer wird jedoch auch die Berechnung. Auch für die genaue Art der
Verrechnung der einzelnen Samples muss eine Formel gesucht werden. Optimierungspotenzial liegt in redundanten
Schattenfühlern, bzw. viele ähnliche Schattenfühlern.
Verrechnung der einzelnen Samples muss eine Formel gesucht werden. Optimierungspotenzial liegt in der
Reduzierung redundanter bzw. sehr ähnlicher Schattenfühler.
\subsection{Umsetzung mittels Berechnung von der Lichtquelle aus}
Der zweite Lösungsansatz verfolgt einen ähnlichen Ansatz wie Photon-Mapping, indem versucht wird die
......
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