implemented separation between direct and indirect light