Processor: Intel(R) Core i7-6700HQ CPU @ 2.60GHz, 4 physical cores
RAM: 8 GB DDR4 2133Mhz (2xDIMMs)
OS: Windows 10 Pro x64
Implemented functions
diffuse-diffuse reflection
importance sampling for diffuse reflection
Irradiance Caching
Selected Test results(s):
the "cornell box" scene:
Stratified pattern for pixel sampling with Gaussian filter; Random pattern for hemisphere sampling; adaptive sampling with maximum 64 samples per pixel
2 bounces for both irradiance caching and rendering
irradiance caching threshold: color-0.05, normal-0.9, Z-5.0
irradiance caching - 22.16(preparing irradiance cache) + 2.75(rendering)
brute force (adaptive sampling) - 78.83
brute force (non-adaptive) - 132.35
the "skylight teapot" scene:
Stratified pattern for pixel sampling with Gaussian filter; Random pattern for hemisphere sampling; adaptive sampling with maximum 64 samples per pixel
1 bounce for both irradiance caching and rendering
irradiance caching threshold: color-0.1, normal-0.99, Z-10.0
irradiance caching - 6.08(preparing irradiance cache) + 0.83(rendering)
brute force (non-adaptive) - 22.57
Result (irradiance caching)
Result (4 bounces, brighter)
Result (brute force, 4 bounces, brighter)
Result (brute force with adaptive sampling) (notice from the result that it is not very suitable to do adapative sampling together with Lambertian sampling)
Result (brute force with non-adaptive sampling)
Result (skylight teapot, irradiance caching)
Result (brute force with non-adaptive sampling)