umsetzung1.tex 2.1 KB
Newer Older
Lukas Tietze's avatar
Lukas Tietze committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
\section{Umsetzung mittels Sampling im Medium}
%
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.\\
Ein möglicher Algorithmus zur Lösung des Problems besteht darin, beim Durchgang eines Strahls durch ein
dichtes Medium mittels Schattenfühlern abzutasten, inwiefern der Strahl von der Lichtquelle aus erreichbar ist
und daraufhin zu berechnen, wie viel Licht entlang des Strahls zum Beobachter zurückgeworfen wird. Das grobe
Vorgehen ist das folgende:
%
\begin{enumerate}
    \item Strahl trifft auf dichtes Medium
          %
          \begin{enumerate}
              \item Der Eintrittspunkt wird in der Ray-Payload vermerkt.
          \end{enumerate}
          %
    \item Strahl trifft auf anderes Objekt oder tritt aus dichtem Medium aus
          \begin{enumerate}
              \item Der Strahlenabschnitt innerhalb des dichten Mediums wird bestimmt.
              \item Entlang dieses Abschnittes wird eine Zahl Schattenfühler ausgesendet.
              \item Für jeden Treffer wird der Anteil des zurückgeworfenen Lichtes bestimmt und aufaddiert.
          \end{enumerate}
    \item Die anderen Trefferpunkte des Strahls werden behandelt, die Lichtberechnung für dahinterliegende
          Objekte entsprechend ausgeführt und das Ergebnis um den vorher berechneten faktor aufgehellt.
\end{enumerate}
%
\begin{figure}[ht]
    \centering
    \includegraphics*[width=0.9\textwidth]{data/images/Sampling.png}
    \caption{Sampling der Lichtquelle beim Durchqueren eines Mediums}
    \begin{tabular}{c|c}
        Gelb             & Lichtquelle         \\
        Schwarzer Balken & Objekt              \\
        Grüne Strahlen   & gesampelte Strahlen \\
        rote Strahlen    & Schattenfühler
    \end{tabular}
\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.