**Final project proposal**
(#) Yunzi Shi (f006g88) and Ruomai Yang (f006gry)
(##) Motivational image

We are interpreting the “coloring outside of the lines” as light effects that transform and allow for reinterpretations of an existing 2d watercolor painting.
In particular, we were interested in the different phases of water and how they participate in the transformation.
In our image, we wanted to show refraction from ice cubes that makes a 2D image looks 3D, wet watercolor wash effects on textured paper, a mirror reflecting the painting but blurred by condensation, etc. (The proposed composition will be finalized as we build our scene.)
With the features we propose below, we envisioned an image that contrasts 2D and 3D representations of an image and highlights a vibrant interplay between water as image and water as substance.
(##) Rough Dielectric
* We implemented rough dielectric for icecubes by sampling sphere cap to randomize the normal.
(##) Environment Mapping
* We implemented environment mapping based on the infinite area lights implementation in PBRT. To integrate this feature with darts, we implemented an environment surface with only directions as well as
a material that takes in image textures. We used the given distribution2D functionalities for importance sampling. The attached pictures show a glass sphere, a metal sphere, and a phong sphere from left to
right as they respond to 4 different environment maps.
* Encountered problems: Integrating the environment mapping in existing integrators.
(##) Volumetric Path Tracing
* We implemented volumetric path tracing for the fog and the water in our scene.
* We started by implementing homogeneous and heterogeneous medium, and then we updated the path tracing and photon mapping routines.
* Encountered problems: We spent a long time trying to implementing null scattering. One of the major challenges was considering all the possibilities of tracing rays through surfaces and medium. In addition, we were having trouble making the scene work with nanovdb,
since we needed to manully move the nvdb file into the boxes.
(##) (Volumetric) Photon Mapping
* We decided to experiment with photon mapping later in the process since we thought it might work better with our volumetric materials. In the first iteration, we trace and record photons from on surfaces. In the second iteration. We sampled the light including the environment.
* Encountered problems: We only had two days before the deadline so we rushed to integrate photon mapping with the existing features.
Despite the rush, we still managed to generate some improvements on rendering the caustics, as seen in the tests below.
(##) Additional Features:
(##) Spotlight
(##) Condensation
(##) Final Image
* We ended up only able to use some of the features we actually implemented. While we could have improved the project scoping and management,
much trouble came from integrating the developed features with the blender exportation. The scene we envisioned has complex physical effects,
and they were exactly what intrigued us in the first place, but we might have underestimated the implementation it took to realize the
emperical effects that seemed commonplace. Next time we can build the scene