
\documentclass[landscape,20pt]{foils}

\usepackage{graphicx}
% \usepackage{mdwslides}

\MyLogo{}   % this is the default
\begin{document}

% 1m introduction
%    physically-based visual plausibility requires:
%    - realistic model of light transport
%    - realistic model of how the eye views the incoming light
%    - conversion from our eye model to digital values for display

%    part 1: realistic model of light transport

% 2m spectral rendering
%    why do we need spectral rendering?
%    - absorbtion and transmission spectra function of wavelength, not visual colours
%    - effects like fluorescence
%    - illuminants change colours
%    - effects which change the light direction

% 2m implementation options for spectral rendering
%    - can use more basis functions
%    - can pick a bunch of wavelengths and re-raytrace for each
%    - can randomly sample wavelengths

% 3m swc approach
%    - random wavelength sampling, monte-carlo integration technique

% 1m conversions for spectral representations
%    - converting from rgb to a spectrum is annoying

% 2m sampling of the light source
%    - stratified across the cdf 
%    - dealing with fluorescence

% image 1: of spectral raytrace vs rgb raytrace
% - can i get refraction?

% 11m

% 1m tone mapping and hue mapping + output from a spectral raytracer
%    - one thing we can get from a spectral representation is rod
%      sensitivity

% image 2: diagram of rod sensitivity, comparison with a linear mapping.

% 1m modeling glare
%    - paper from 1995 on a physical model of glare, based on incoming
%      intensity values.
%    - happens as light scatters upon entering the eye
%    - should be performed _before_ conversion, ideally, but that would
%      mean storing full spectrum per pixel.

% image 3: a cheap glare filter!

% 1m chromatic adaption and dynamic range compression

% 2m night vision
%    - vision responds to dim scenes by shifting focus to the rods & decreasing acuity
%    - we're sure that for some reason, scenes become more blue
%    - modelling how vision

% image 4: a night-vision scene!

% 5m

% processing pipeline


% 2m

% ---
% 18m

% ----------------------------------------------------------------
\foilhead{Problems and Solutions for Photorealistic Rendering}
\begin{center}
Billy Biggs
\end{center}


% ----------------------------------------------------------------
\foilhead{Introduction}
\begin{itemize}
\item
The ultimate goal: {\bf physically-based visual plausibility}
\item
Can we generate scenes that {\bf appear realistic} through better
simulation of both {\bf light transport} and {\bf the human eye}?
\end{itemize}

Approach the problem in three stages:
\begin{enumerate}
\item
Realistic model of light transport
\item
Realistic model of the eye
\item
Appropriate conversion from our eye model to a digital image
\end{enumerate}

% ----------------------------------------------------------------
\foilhead{On the nature of light}
\begin{itemize}
\item
Most effects we wish to render can be described using ray optics
\item
Light interactions occur in the spectral domain
\item
Basic operations: absorbtion, fluorescence, phosphorescence
\item
However, our eyes perceive light in a 3 dimensional space
\item
{\bf metamers}: Two unique spectra with the same visual appearance
\end{itemize}


% ----------------------------------------------------------------
\foilhead{What advantages does spectral rendering provide?}

\begin{itemize}
\item
Accuracy!!
\end{itemize}

Many operations are impossible with only 3 dimensional colour
\begin{enumerate}
\item
Handling metamers correctly under absorbtion and transmission and under
different illuminants
\item
Materials which shift power along the spectrum (fluorescence)
\item
Handling wavelength-dependent changes in light direction:\\
refraction and dispersion
\end{enumerate}

% ----------------------------------------------------------------
\foilhead{Conversions to and from spectral representations}

\begin{itemize}
\item
Converting from a power distribution to a three-dimensional space is no
big deal
\end{itemize}

  $$ X = k \int \Phi(\lambda) \bar{x}(\lambda) d\lambda $$
  $$ Y = k \int \Phi(\lambda) \bar{y}(\lambda) d\lambda $$
  $$ Z = k \int \Phi(\lambda) \bar{z}(\lambda) d\lambda $$

\begin{itemize}
\item
Converting the other way is annoying
\end{itemize}

% ----------------------------------------------------------------
\foilhead{RGB spectral representation}

\begin{center}
\includegraphics[width=6.0in]{rgbgraph.jpg}
\end{center}

% ----------------------------------------------------------------
\foilhead{Implementation options for spectral rendering}

\begin{itemize}
\item
Increase the number of basis functions
\item
Choose a small number of stratified wavelengths and render the full
scene for each
\item
Randomly sample by wavelength
\end{itemize}

% ----------------------------------------------------------------
\foilhead{Stratified Wavelength Clusters (Evans and McCool 1999)}

\begin{itemize}
\item
Apply monte-carlo sampling on the spectrum of each output pixel
\item
Randomly sample a set of wavelengths per path, trace them together
\item
Wavelengths sampled from the cdf of a random light source
\end{itemize}

  $$ Q_i = \int\int\int W_{ij}^Q( \lambda, \bar{x}, \hat{\omega} )
                        L( \lambda, \bar{x}, \hat{\omega} )
                        d \bar{x} d \hat{\omega} d \lambda $$

% ----------------------------------------------------------------
\foilhead{Sampling...}

\begin{itemize}
\item
If there are many light sources, must find appropriate weights and add
this to our estimate
\item
Fluorescence: extending the possible range of wavelengths required
\item
Dealing with refraction: degradation of frequencies in path
\end{itemize}

% ----------------------------------------------------------------
\foilhead{Cornell box: RGB version}

\begin{center}
\includegraphics[width=6.0in]{cornell-rgb.jpg}
\end{center}

% ----------------------------------------------------------------
\foilhead{Cornell box: SWC version}

\begin{center}
\includegraphics[width=6.0in]{cornell-swc.jpg}
\end{center}

% ----------------------------------------------------------------
\foilhead{A scene under a yellow illuminant}

\begin{center}
\includegraphics[width=6.0in]{wavelength-yellow-light.jpg}
\end{center}

% ----------------------------------------------------------------
\foilhead{The same scene using XYZ}

\begin{center}
\includegraphics[width=6.0in]{rgb-yellow-light.jpg}
\end{center}

% ----------------------------------------------------------------
\foilhead{Model of the eye}

\begin{itemize}
\item
There are four types of receptors: three types of cones, and rods
\item
Visual mode also plays a factor: photopic, mesopic and scotopic.
\item
Model is defined as an image in $\log XYZV'$ and a visual mode value $s$.
\end{itemize}

% ----------------------------------------------------------------
\foilhead{Why $V'$ and $s$: Scotopic vision}

\begin{center}
\includegraphics[width=8.5in]{scotopic-photopic.jpg}
\end{center}

% ----------------------------------------------------------------
\foilhead{Scotopic luminous efficiency is a shift of the photopic}

\begin{center}
\includegraphics[width=6.0in]{luminance-v.jpg}
\end{center}

% ----------------------------------------------------------------
\foilhead{An approximation for $V'$}
\begin{center}
\includegraphics[width=5.5in]{r-vs-scotopic.jpg} \\
  From Pattanaik 1998: $ R = -0.702X + 1.039Y + 0.433Z $
\end{center}

% ----------------------------------------------------------------
\foilhead{Effects gained from a model of the eye}

\begin{enumerate}
\item Glare
\item Chromatic adaptation and dynamic range compression
\item Night-Vision
\end{enumerate}

% ----------------------------------------------------------------
\foilhead{A model for glare}

\begin{itemize}
\item
Increase perceived dynamic range by modeling how high intensity sources
perceived by the eye
\item
Caused by scattering of light as it enters the cornea and the lens
\end{itemize}

% ----------------------------------------------------------------
\foilhead{What's up with glare, anyway?}

\begin{center}
\includegraphics[width=6.0in]{glarepic.jpg}
\end{center}

% ----------------------------------------------------------------
\foilhead{A model for glare}

\begin{itemize}
\item
Luckily, we can calculate glare maps for each of $XYZV'$ individually
\item
Also, glare only depends on the angular size of the bright object, and
can be precalculated for a given scene
\end{itemize}

% ----------------------------------------------------------------
\foilhead{Chromatic adaptation and dynamic range compression}

\begin{itemize}
\item
Chromatic adaptation occurs when the eye adjusts to the colour of the
illuminants in the scene
\item
Not as interesting for generated images. more useful for image
processing
\item
The eye can adapt to images with a high dynamic range
\end{itemize}

% ----------------------------------------------------------------
\foilhead{Dynamic range methods}

\begin{itemize}
\item
Linear compression, other approximations (Schlick)
\item
Local scaling methods (Chiu)
\item
Multi-layer bandpass filtered images (Ferwerda, Ward, Pattanaik)
\end{itemize}

% ----------------------------------------------------------------
\foilhead{Night Vision}

\begin{itemize}
\item
The usual mapping for scotopic vision in tone mapping is to blur images
in low light situation to simulate the loss of acuity
\item
Jensen et al (Siggraph 2001) argues that the scene should also shift to
become more blue, but there is a lack of empirical data to simulate this
'accurately'
\item
Their method of hue mapping shifts the chromaticities of the colours and
also shifts the luminance towards the scotopic luminous efficiency
\end{itemize}

% ----------------------------------------------------------------
\foilhead{Cornell box at night}

\begin{center}
\includegraphics[width=6.0in]{cornell-night-grey1.jpg}
\end{center}

% ----------------------------------------------------------------
\foilhead{Cornell box at night: mapped}

\begin{center}
\includegraphics[width=6.0in]{cornell-night-blue1.jpg}
\end{center}

% ----------------------------------------------------------------
\foilhead{Cornell box at night: more blue as we get darker}

\begin{center}
\includegraphics[width=6.0in]{cornell-night-blue2.jpg}
\end{center}

% ----------------------------------------------------------------
\foilhead{Converting for a display device}

\begin{itemize}
\item
Unfortunately, many of the above steps have already required data about
the display device!
\item
Still need to gamut map and gamma correct
\end{itemize}


% ----------------------------------------------------------------
\foilhead{Our final processing Pipeline}

\begin{enumerate}
\item
Process input colours to spectra
\item
Render using SWC to $XYZV'$
\item
Compute visual function information
\item
Apply a digital glare filter
\item
Filter the image for chromatic adaptation, acuity, and dynamic range
\item
Apply subjective night-vision mapping
\item
Gamut-map and gamma correct for digital display
\end{enumerate}

\end{document}

