Commit e026c09b authored by Lukas Tietze's avatar Lukas Tietze

Zusammenfassung der Umsertzungen

parent 5924c9cb
\section{Bewertung}
Die beiden Umsetzungen sollen danach entsprechend der folgenden Kriterien bewertet werden.
\ No newline at end of file
......@@ -4,38 +4,41 @@
\section{Vorl盲ufige Gliederung}
%
\begin{enumerate}
\item Aufgabenstellung
\item Aufgabenstellung \& Motivation
\item Einf眉hrung: Was ist Raytracing?
\begin{enumerate}
\item Theoretische Grundlagen
\item Umsetzung mit Vulkan \& NVIDIA-Extension
\item Hardwareunsterst眉tzung
\end{enumerate}
\item Die Rendergleichung und ihre Umsetzung mittels Raytracing
\item Umsetzung grafischer Effekte mit Raytracing
% Zu viel oder am Thema vorbei?
\begin{enumerate}
\item Harte Schatten
\item Reflexion
\item Refraktion
\item Weiche Schatten
\item Anti-Aliasing
\item Globale Beleuhtung mit Monte-Carlo-Simulation und BRDF
\item glossy reflection mit Multiple Importance Sampling
\end{enumerate}
% \item Umsetzung grafischer Effekte mit Raytracing
% \begin{enumerate}
% \item Harte Schatten
% \item Reflexion
% \item Refraktion
% \item Weiche Schatten
% \item Anti-Aliasing
% \item Globale Beleuhtung mit Monte-Carlo-Simulation und BRDF
% \item glossy reflection mit Multiple Importance Sampling
% \end{enumerate}
\item Darstellung von Lichtsch盲ften
\begin{enumerate}
\item Physikalische Grundlagen
\item Bisherige Konzepte: Post-Processing
\item Ansatz 眉ber Raymarching (Begriff ist mehrdeutig!)
\item Untersuchung der M枚glichkeit der Projektion von Strahlen auf die Bildebene
\item Bisherige Forschung
\item Umsetzung durch Raytracing im Medium
\item Umsetzung durch Projektion von Strahlen auf die Bildebene
\end{enumerate}
\item Auswertung der Methoden
\begin{enumerate}
\item Qualit盲t
\item Performance
\item Vergleich zu bisherigen Techniken
\end{enumerate}
\end{enumerate}
%
......
......@@ -13,9 +13,5 @@ beobachten. Der Effekt ist eindrucksoll und kann deswegen eine computergrafisch
\end{figure}
%
Der Effekt l盲sst sich recht einfach durch Rendern eines transparenten Objekts erzeugen. \\
%
F眉r die folgenden 脺berlegungen seien noch folgende Begriffe definiert:
%
\paragraph{Dichtes Medium:} Ein Medium, in dem viele Partikel vorhanden sind, die das Licht reflektieren und
so zur Entstehung von Lichtsch盲ften f眉hren k枚nnen. Dies kann zum Beispiel staubige Luft, Nebel, oder einfach
Wasser sein. Das Medium wird durch ein Objekt in der Szene angen盲hert.
\ No newline at end of file
\section{Umsetzung mittels Sampling im Medium}
\section{Umsetzung}
Es soll versucht werden Lichtsch盲fte mittels Raytracing umzusetzen. F眉r die folgenden 脺berlegungen sei noch
der Begriffe \gquote{dichtes Medium} definiert:
%
\paragraph{Dichtes Medium:} Ein Medium, in dem viele Partikel vorhanden sind, die das Licht streuen und
so die Entstehung von Lichtsch盲ften erm枚glichen. Dies kann zum Beispiel staubige Luft, Nebel, oder einfach
Wasser sein. Das Medium wird durch ein Objekt in der Szene angen盲hert.
\subsection{Umsetzung mittels Sampling der Lichtquelle aus dem Medium heraus}
%
Dieser Algorithmus ist anscheinend z.B. in Minecraft RTX implementiert, jedoch noch nicht weiter
beschrieben oder ausgearbeitet, daher lohnt sich die 脺berpr眉fung und Implementierung des Verfahrens.\\
......@@ -37,5 +45,38 @@ Vorgehen ist das folgende:
\end{figure}
%
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 die genaue Art der Verrechnung
der einzelnen Samples muss bestimmt werden.
\ No newline at end of file
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 entwickelt werden.
\subsection{Umsetzung mittels Berechnung von der Lichtquelle aus}
Der zweite L枚sungsansatz verfolgt einen 盲hnlichen Ansatz wie Photon-Mapping, indem versucht wird die
Strahlen von der Lichtquelle aus zu verfolgen. Der Ansatz k枚nnte eine h枚here Qualit盲t erzeugen, jedoch auch
teurer sein. Er beinhaltet einen zweistufigen Renderprozess, der wie folgt abl盲uft:
%
\begin{enumerate}
\item Die Szenewird wie gew枚hnlich gerendert mittels Raytracing gerendert, dabei wird jedoch auch ein
Tiefenpuffer erstellt.
\item In einem zweiten (potenziell parallelen) Renderschritt werden die Lichtsch盲fte in eine Texture gerendert
%
\begin{enumerate}
\item Es werden Strahlen von der Lichtquelle aus in Richtung des dichten Mediums geschossen.
\item Wenn ein Strahl in das Medium ein- und wieder austritt erh盲lt man einen Strahlenverlauf im
Medium mit Anfangspunkt, Richtung und L盲nge
\item Diese Linie wird auf die Kameraebene projiziert.
\item Entlang der prohizierten Linie wird mit einem geeigneten Rasterungsalgorithmus f眉r Linien (z.B.
Bresenham-Algorithmus) eine Linie in einer Texture erzeugt.
\end{enumerate}
%
\item Beide Bilder werden mithilfe der Tiefenwerte kombiniert.
\end{enumerate}
%
F眉r diesen Algorithmus besteht die Herausforderung wieder darin die Anzahl, Position und Richtung der
ausgesendeten Strahlen zu bestimmen und so zu minimieren, das die Performance nicht zu stark leidet.
%
\begin{figure}[ht]
\centering
\includegraphics[width=0.9\textwidth]{data/images/Projektion_Strahlenverlauf.png}
\caption{Grafische Darstellung der Idee: Der Verlauf eines Strahls wird per Bresenham-Algorithmus
rasterisiert.}
\end{figure}
%
\ No newline at end of file
\begin{itemize}
\item Es werden Strahlen von der Lichtquelle aus in Richtung des dichten Mediums geschossen.
\item Wenn ein Strahl in das Medium ein- und wieder austritt l盲sst sich ein Strahlenverlauf im Medium mit
Anfangspunkt, Richtung und L盲nge erhalten
\item Diese Linie wird auf die Kameraebene projiziert.
\item Entlang der Linie wird mit einem geeigneten Rasterungsalgorithmus f眉r Linien (z.B.
Bresenham-Algorithmus) eine Linie in einer Texture erzeugt.
\end{itemize}
%
Diese Textur muss einen Helligkeits- und einen Tiefenwert enthalten, damit sie in einem weiteren
Renderingschritt mit dem vom Raytracing erzeugten Bild verbunden werden kann. Hier sind die Tiefenwerte
wichtig, das hei脽t, auch der Raytracing-Prozess muss so umgebaut werden, dass er einen Tiefenpuffer erzeugt.
%
\begin{figure}[ht]
\centering
\includegraphics[width=0.9\textwidth]{data/images/Projektion_Strahlenverlauf.png}
\caption{Grafische Darstellung der Idee: Der Verlauf eines Strahls wird per Bresenham-Algorithmus
rasterisiert.}
\end{figure}
%
\ No newline at end of file
......@@ -46,11 +46,11 @@
% \tableofcontents
% \clearpage
\pagenumbering{arabic}
\input{components/preamble}
\input{components/v2/grundlagen}
\input{components/preamble.tex}
\input{components/v2/grundlagen.tex}
\input{components/v2/problem.tex}
\input{components/v2/umsetzung1.tex}
\input{components/v2/umsetzung2.tex}
\input{components/v2/umsetzung.tex}
\input{components/v2/bewertung.tex}
\input{components/v2/quellen.tex}
\input{components/v2/gliederung.tex}
% \input{components/raytracing}
......
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