Sunday, July 16, 2006

Soft Shadows and More awesome Optimizations

Tonight was totaaaaaaaally super productive for my Raytracer. I got a ton of stuff done and even more optimizations which is sweet. I also implemented Soft Shadows and Area Lights, so that is pretty groovy too.


Scene using one point light, no soft shadows


Soft shadows with no jittering (note the banding), 1x1 sample size


Soft shadows with jittering (note the noise instead of banding), 1x1 sample size


Soft shadows with no jittering (note the banding), 2x2 sample size


Soft shadows with jittering (note the noise instead of banding), 2x2 sample size


Soft shadows with no jittering (note the banding), 4x4 sample size


Soft shadows with jittering (note the noise instead of banding), 4x4 sample size


Soft shadows with jittering (note the noise instead of banding), 10x10 sample size


Soft shadows, 10x10 sample size, using Voxel traversal optimization method


Venus De Milo model with shadow optimization (looks the same as before)


Venus De Milo mesh with shadow ray optimization, now 35 seconds to render!


Using Matt Pharr's recommended optimal grid size, 3*cubeRoot(numPolys), even faster render time (24 seconds). This has gone from 46 minutes to 24 seconds, so this is now 115 TIMES faster!!


Table scene re-rendered with Voxel-triangle optimization, shadow ray optimization, optimal grid size optimization


Table scene runtime before Optimization (Render time ~ 5.4 hours)


Table scene runtime after all 3 Optimizations: Voxel-triangle optimization, shadow ray optimization, optimal grid size optimization. (Render time ~ 17.4 minutes) This is 18.5 TIMES faster!

No comments: