Summary

Overview of Features

In the end, I was able to implement the following features from my proposal:

  • Depth of Field
  • Image Textures
  • Bump Mapping
  • Disney BSDF
  • Environment Maps
These will all work together to help build up my final image. I will use a Depth of Field camera in the scene to create a realistic camera effect. Image Textures and Bump Maps will be used on almost every mesh to produce a realistic view of the objects. I will also be lighting the scene with an Environment Map, as well as taking advantage of scenic background produced. Finally, every BSDF in the scene is a Disney BSDF, taking advantage of all the parameters implemented for an artistic and realistic scene.


As time runs short, I have not been able to fully implement the proposed Smooth Plastic Layered BSDF. After some consideration, I believe that is more beneficial to my learning and growth to focus on a few more simple and new features that I can complete, rather than have a incomplete advanced feature. That being said, I have additionally implemented the following features.

Additional Features

Additional BSDF Params:

Initially, I proposed implementing the 5 Disney BSDF params:

  • baseColor
  • metallic
  • specular
  • roughness
  • clearcoat
As I begin to dig into the Physically Based Shading at Disney , I put a lot of time into fully understanding the formulas and process which should be evident from the clean and well documented code. The formulas were described in terms of all the parameters, so it was quite easy to follow the theory and simply include some addition parameters. These ended up being:
  • specularTint
  • clearcoatGloss
After completing this BSDF, I had access to a Clearcoat model and could simulate a thin plastic layer over the surface, deterring me away from spending a lot of time implementing another similar feature. In the end, I decided to explore some other new and simple features:

Modeling and Importing Meshes from Blender

As my scene idea contained meshes with a lot of intricate pieces, I worked to use Blender to modify my scene, and then utilized the BlenderNoriPlugin to export my scene into Nori.

After a bit of online research, I found some meshes that I enjoyed such as this Royalty Free mesh from CGTrader and this CC Attribution Licensed mesh from Sketchfab . I then worked in Blender to separate the meshes, perform some edits, cutting, resizing, and smoothing, and spent a lot of time getting the BSDFs just right with image textures, Disney BSDF params, and bump maps. blender This then produced a massive .xml file that I compile and render with Nori. However, there was still some issues, such as the Textures being imported under the wrong file path and no bump maps in the scene, leading to a lot of time spent tweaking the scene. Finally, this produced a result that took a long time to render, but none the less an actual image containing all of my features (see Building up the Final Result below).

Intel Open Image Denoise Integration:

Finally, as I begin to render my images it became clear that there was a lot of noise produced for how much time it took to render. That being said, to produce a good a clear image I downloaded Intel's Open Image Denoise and changed my camera model to use a box reconstruction filter rather than the gaussian. Then, I can simply feed my images into the denoiser to get much cleaner results.

Building up the Final Result

Throughout the process above, here are the different version of my image that I have built working up to the final result. These scenes can all be found at scenes/image/.

v1

V1 - No Denoising, No Bump Maps

v1

V2 - No Denoising, Bump Maps on a rocky surface

v1

V3 - All Features Utilized, Final Submission before Denoising