I would use some ultra low res buffer, like 32x32, and render the light of each object using a camera which is positioned at the object, then turned away from the player's camera, and then moved back that it's slightly outside the object's mesh's AABB.
When the pixel in the center of the buffer is brighter than the current AmbientLight value, then it's hit by a light. If it's darker, the mesh might be black color, but it works then also because the black color eats all light, so even if it's hit by a light, it's not affected by it, so it's the same as not being hit by a light at all.
You can do this routine maybe every 600th frame, since reaction time to light is supposed to be realistically delayed (iris adjustment, light speed limit, etc...), so it won't cost any FPS either.