Global Illumination Irradiance Estimation and Photon Prunning
Photon irradiance is estimated using a spherical area. However this alone will produce incorrect results. Check out this image, notice banding along all the surfaces that meet at 90 degrees. This is because just grabbing all the photons within a sphere gets photons from both surfaces, when really the photons from surfaces that are orthogonal to each other should not contribute to the lighting.
If we add a simple check looking at the angles between the photons incident direction and the normal of the current surface and throwing out the ones that have angles greater than 90 degrees we notice a great reduction in banding.
This still doesn't fix everything, the last thing we will do is scale the contribution of the photon by the cosine of the angle between the photons original incident surface's normal and the normal of the current surface. This makes the best looking image