add self shadow equation to the shaders and let the user change the attenuation light range