Inspiration My idea was to make a VR fusion in the spirit of Pokemon Go, and the picture on the left was my inspiration for a typical Stanford background. Background For the background, I took 3 picture in the main Quad and stitched them together to get a background similar to my inspiration image: Models I made the Jigglypuff model myself, following some tutorials on youtube, mainly this one: https://www.youtube.com/watch?v=2dLMctUGKXw. I then colored it with the paint tool in Maya. I also made the Pokeball myself, as I couldn’t find a model online that had the right format and looked good. Instead of painting, I just assigned single colored textures to each part of the model. I got the model for Pikachu, Charizard, the bench, street lamps, trash can and palms online. I also got texture for the ground floor online, as well as the textures for the man-made ground covers. Lights I put in 4 area lights fairly far away to get soft shadows, and used a weak directional light to fake global illumination as my main light was coming from the back. I also experimented with a point light or area light to lighten up the shadows, but couldn’t get a satisfying result with either, so I kept the directional light and pointed it in a way that minimizes wrong shadows in the picture. Technical Contributions Depth of Field For the implementation, I followed the lecture slides and the hints in the advanced rendering handout, as well as following websites: http://www.cs.unc.edu/~jpool/COMP870/ Assignment2/, https://steveharveynz.wordpress.com/2012/12/21/ray-tracer-part-5-depth-of- field/. I used following parameters in the rendering of the final images: • Samples: • Lense size: 0.7 with a circular shaped lense Partly transmissive objects As the leaves of my palm tree are partly transmissive, which is not incorporated into the shape, but instead the alpha value of the UV picture is used to symbolized whether individual pixels are transmissive. This was not yet supported by the ray-tracer, thus I had to add the functionality by: • Loading in the alpha information when loading the materials • checking an individual point whether it is transmissive instead of checking the whole material • adding this additional information about transmissiveness when computing the NonLightDependentBRDF Threading I split up the image horizontally and have each thread render one slice of the image. I used 8 threads.