Project 10

Soft Shadows + Rough Surfaces

Ray Traced View

Ray tracer MK10. Metal and glass look even cooler now.

The metalic spheres from the top left to top right have varying glossiness. Rough spheres have a randomly modified normal. This roughness more accurately models real life surfaces, which have small imperfections.

This roughness can be applied to both reflective and refractive surfaces.

Spherical light sources are also now implemented. Lights with size result in soft shadows, where the edges of an object cast a penumbra. To compute these, many shadow rays must be shot to get an accurate shadow percentage.

Sample Buffer View

Unfortunately, to get high quality rough reflection and refraction, many samples need to be shot out per pixel. I tried using the Kourosh computer which can run 340 threads at 2.4ghz, but it ended up running slower than my friend's 16 core workstation. Still trying to figure that out...

Here's the same scene, but with much fewer samples

Sample Buffer View

800 by 600 with 64 spp, 64 shadow rays, 32 texture samples, 1.5 reconstruction filter


Intel HD Graphics 620, Intel Core i7 - 7500U CPU @ 2.7GHz, 16GB of memory

1920 by 1080 with 512spp, 256 shadow rays, 32 texture samples, and a 1.5 reconstruction filter



Kourosh - 8 - Intel Xeon CPU E7 4870 2.4ghz (160 threads), 750GB