Commit 1d9bf5cc authored by Lukas Tietze's avatar Lukas Tietze

Themenvorschlag 1.0

parent c3569eb3
......@@ -133,5 +133,11 @@ werden.
%
\subsection{Godrays/Lichtsch盲fte}
Lichtsch盲fte entstehen, wenn Licht durch ein dichtes Medium scheint (z.B. Wasser oder verunreinigte Luft) und
dadurch der Verlauf von Lichtstrahlen sichtbar wird. Dieser Effekt l盲sst sich durch Ray-Marching
implementieren.
\ No newline at end of file
das Licht an den Partikeln gestreut wird. Dadurch wird der Verlauf von Lichtstrahlen sichtbar. Dieser Effekt
l盲sst sich durch Ray-Marching
implementieren. Wenn ein Strahl ein dichtes Medium durchdringt wird entlang des Strahl an verschiedenen
Punkten ein Schattenf眉hler ausgesendet, der pr眉ft, ob Licht von der Lichtquelle entlang dieses Strahls
gestreut wird. Hierbei ist es wieder wichtig eine gute Zahl von Schattenf眉hlern zu finden, was wieder eine
Abw盲gung zwischen Qualit盲t und Geschwindigkeit bedeutet.\\
Nach diesem Schritt sollten Lichtstrahlen in einem dichten Medium sichtbar sein. Dazu eignet sich eine andere
Szene mit einer st盲rkeren, direktionalen Lichtquelle.
\ No newline at end of file
\section{Entwicklung eines eigenen Algorithmus zur Darstellung von gestreutem Licht in dichten Medien}
Abschlie脽end soll noch ein eigener Algorithmus entwickelt werden, der Lichtstrahlen in dichten Medien rendern
kann. Die Idee dabei ist, nicht den Trefferpunkt eines Strahls auszuwerten, sonden den Weg den
er zur眉ckgelegt hat. Dies k枚nnte vor allem bei dichten Medien interessant sein (staubige/unreine Luft, oder
Wasser), da dort Lichtsch盲fte entstehen k枚nnen. Damit k枚nnten Lichtsch盲fte mit vertretbarem Rechenaufwand und
h枚herer Genauigkeit als beim Raymarching dargestellt werden. \\
Der Grundaufbau ist 盲hnlich zum Photon-Mapping (welches wiederum dem Shadow-Mapping 盲hnelt):
%
\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
......@@ -3,4 +3,6 @@ Die Ausarbeitung soll sich sprachlich auf einem Niveau befinden, das f眉r Leser
眉ber Computergrafik, Geometrie im dreidimensionalen Raum und Programmierung in modernem C++, verst盲ndlich ist.
Fachbegriffe sollen dennoch kurz wiederholt werden. Oft haben Fachbegriffe keine deutsche Entsprechung oder die deutsche
Entsprechung ist zu unhandlich und zu unbekannt, sodass auf englische Begriffe im Flie脽text nicht verzichtet
werden kann. Sooft m枚glich sollen Prinzipien nicht nur beschrieben, sondern grafisch dargestellt werden.
werden kann. Sooft m枚glich sollen Prinzipien nicht nur beschrieben, sondern grafisch dargestellt werden.\\
Der Grundgedanke ist, eine Palette von grafischen Effekten vertieft zu betrachten und an diesen Effekten die
M枚glichkeiten und Einschr盲nkungen von Raytracing zu erkunden.
......@@ -46,9 +46,10 @@
\tableofcontents
\clearpage
\pagenumbering{arabic}
\input{components/preamble} % erledigt
\input{components/grundlagen}
\input{components/raytracing}
\input{components/implementierung} % erledigt
\input{components/preamble}
\input{components/grundlagen}
\input{components/raytracing}
\input{components/implementierung}
\input{components/effekte}
\input{components/entwicklung.tex}
\end{document}
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