Anyone who’s done anything with shader programming knows that shadows are probably one of the most annoying things to render. The current ideal method for this is what’s known as shadow mapping. But even that comes with a plethora of problems including aliasing, which biasing does not necessarily fix. Once we fix that problem with variance maps we still get problems with light bleeding! Pretty much the ideal way to create these non biased and anti-aliased shadows is to use these variance maps but combined with summed area tables for juxtaposing texture data. Overall its about a 20 step process although effective. Hopefully we’ll someday be able to create a more efficient process for environment shadows.
Read the chapter to NVIDIA’s GPU Gems 3 for more information if you’re interested!