Re:PowerVR Wizard GPU does real-time ray tracing at 10x lowe...
by alkonaut on Thursday January 07, 2016 @05:13PM
(#10861228)
These problems can be overcome (somewhat) by using more clever path tracing such as bidirectional path tracing, and mutating "successful" paths instead of creating new ones, such as in Metropolis Light Transport.
So you randomly sample/pick one, or a few (maybe vary it based on the current ray importance or throughput) to test.
So given that you can't sample all lights (efficiently anyway), you have to try and efficiently cull/find lights which are visible to the surface being shaded/lit. Because otherwise you might be sending test occlusion rays to lights that wouldn't even contribute anything even if they weren't occluded.
It's close to impossible to do this perfectly (in an unbiased way, anyway), and even if you do a pretty good job, it's extra computation, and the fact that certain lights are sometimes occluded significantly adds noise to the lighting.