C++
Implemented effecient light and shadow renderer by building algorithms.
​
Materials:
Mirror - perfect specular reflection (red shoe holder / table top)
​
Refract - Snell's Law, BSDF attenuation using physical based rendering (shoe on the left)
​
Glass - Schlick's approximation. Reflect + refract. (shoe on the right, blue shoe holder / table top)
Lighting:
Direct lighting - reduce variance by sampling light source directly. single-sample multiple importance sampling
​
Lambertian BSDF and indirect lighting - simulate the complicated paths that light can take throughout the scene, bouncing off many surfaces before eventually reaching the camera (small shoe on the right)
​
​Environment lighting - uniformly sampling, then importance sampling the environment map (CDF and PDF) with Jacobian (room background)