\section{Problems}
\begin{frame}
    \centering
    \Huge
    Problems
\end{frame}
\subsection{Why differentiable rendering is hard}
\begin{frame}{Why differentiable rendering is hard}
    \begin{itemize}
        \item Rendering integral contains the geometry term that is not differentiable
        \item The gradiant of the visibility can lead to dirac delta terms which have 0 probability of being sampled correctly [\cite{ACM:diracdelta},\cite{ACM:diffable_raytracing}]
        \item Differentiation with respect to certain scene parameters possible but we need to differentiate with respect to any scene parameter
    \end{itemize}   
\end{frame}
\begin{frame}{primary occlusion}
    \centering
    \input{presentation/diagrams/diagramm_occlusion.tex}
\end{frame}
\begin{frame}{Angle change $\leftrightarrow$ visibility change}
    \centering
    \input{presentation/diagrams/geometry_term_diff.tex}
\end{frame}
\subsection{Former methods}
\begin{frame}{Former methods}
    \begin{block}{Previous differentiable renderers considered by this paper}
        \begin{itemize}
            \item OpenDR [\cite{DBLP:OpenDR}]
            \item Neural 3D Mesh Renderer [\cite{DBLP:Neural3DKatoetal}]
            \item Both rasterization based (first render the image using rasterization, then approximate the gradients using the resulting color buffer)
            \item Focused on speed rather than precision
        \end{itemize}
    \end{block}
\end{frame}
\begin{frame}{Former methods - visualization}
    \begin{figure}
        \begin{minipage}{0.12\linewidth}
            \begin{figure}
                \centering
                \includegraphics[width=\linewidth]{presentation/img/comparisons/plane.png}
                \caption{planar scene}
                \label{fig:planar-scene}
            \end{figure}
        \end{minipage}
        \hspace{2mm}
        \begin{minipage}{0.12\linewidth}
            \begin{figure}
                \centering
                \includegraphics[width=\linewidth]{presentation/img/comparisons/opendr.png}
                \caption{OpenDR}
                \label{fig:grad-OpenDR}
            \end{figure}
        \end{minipage}
        \hspace{2mm}
        \begin{minipage}{0.12\linewidth}
            \begin{figure}
                \centering
                \includegraphics[width=\linewidth]{presentation/img/comparisons/Neural.png}
                \caption{Neural}
                \label{fig:grad-Neural3DMesh}
            \end{figure}
        \end{minipage}
        \hspace{2mm}
        \begin{minipage}{0.12\linewidth}
            \begin{figure}
                \centering
                \includegraphics[width=\linewidth]{presentation/img/comparisons/ours.png}
                \caption{this paper}
                \label{fig:grad-this}
            \end{figure}
        \end{minipage}
        \hspace{4mm}
        \begin{minipage}{0.3\linewidth}
            \caption{
                %A plane lit by a point light source. Images visualize a gradient with respect to the plane moving right. Since the light source remains static the gradient should only be $\ne 0$ at the boundaries. OpenDR and Neural are not able to correctly calculate the gradients as they are based on color buffer differences.\\
                Visualizations of gradients calculated by different differentiable renderers.\\
                Images: \cite{ACM:diffable_raytracing}
            }
            \label{fig:grad-explanation}
        \end{minipage}
    \end{figure}
    \pause
    $\implies$ Problems are caused at the edges and by approximation using color buffers
\end{frame}