
sample counts for below

fixed the sampling issue. 8/128 samples, 4/64 shadow samples, 95% confidence interval 0.01 error, 10 reflection samples, 2 refraction samples, 5 max bounces, multiple scattering for reflection rays, took many hours with blocksize 8 and 48 threads

sample counts for below

8/128 samples, 4/64 shadow samples, 95% confidence interval 0.01 error, 2 samples per reflected ray, 5 max bounces, multiple scattering for reflection rays, took 1 min 42 secs with blocksize 8 and 48 threads

sample counts for below

8/128 samples, 4/64 shadow samples, 95% confidence interval 0.01 error, 2 samples per reflected ray to attempt to address sampling bias, took 3 mins 13 secs with blocksize 8 and 48 threads

8/128 samples per pixel, 4/64 shadow samples, 95% confidence interval, 0.01 error, not considering multiple scattering, took 3 min 35 s with 24 threads. Sampling is biased somehow for the reflection rays, not sure why

Same as the previous image but sampling the correct disk for the light

sample buffer for the previous image

Finally fixed the sampling issue, the orthonormal basis function does not like very big vectors as input. 4 min 64 max shadow samples, 8 min 128 max samples per pixel, took 34 seconds with 24 threads

Sample buffer for the previous image

Fixed the bug from before. Turns out the orthonormal basis function doesnt normalize the vectors. Min samples 8 max 512, took 2 min 52 seconds on my laptop with 12 threads

Soft shadows with 8 samples per pixel. Something is wrong with sampling the disk for the light, theres a lot of noise in places that should not be in shadow

Making the light render was difficult enough, complete project coming soon