Noise from light placement

Last updated 2019/01/05

Prerequisites

Make sure you have read the chapters about "Secondary ray clamping" and "Self-Illumination versus direct lighting" before diving into this one.

The problem

Scene lit with a small sphere light

We start with a small direct light sphere in the middle of a room. The render is fast and basically noise free. Nothing out of the ordinary so far.

Scene lit with a small sphere light

This, however, changes when we put the light source just barely above the ground floor. We suddenly get a lot of noise and the render time has increased considerably.

Analysis

We basically ran into the same issue as discussed in the "Self-Illumination versus direct lighting" chapter. Now, a few global illumination rays will pick up the small brightly lit round spot on the ground which then manifests in noise. Note that this is not direct light noise, it's just GI noise caused by the proximity of the direct light source to the ground. The example above is still somewhat of a "best case scenario", it could be a lot worse if the light source is only illuminating the floor (or a lamp facing only the wall).
This might sound like an edge case and not happening too frequently in daily work. However, it's happening quite often and many artists don't realize it. Let's look at another example.

Typical lighting situation with a floor lamp

the lamp housing

We've got a typical floor lamp (granted, a pretty ugly one) which is lighting our scene. The lamp housing has a bright but realistic white interior material and is lit by the same sphere light we've had before - basically a floor lamp with a light bulb. It's arguably even worse than the previous example. This, unfortunately, is not uncommon in many downloadable architecture scenes and can be found in low-quality as well as high-quality commercial products.

How to fix it

There are a few possible ways to deal with the problem. The obvious one would be avoiding to light the back of the lamp by, for example, using a disc light that faces away from the lamp housing. This might not always be possible, so another recommended method is to exclude the interior of the housing from generating GI information. Basically, global illumination will ignore the interior of the housing but the housing will receive GI from other objects.
If this isn't possible either, for example, if light sources just have to be very close to a wall, lowering the secondary ray clamp might be the way to go.

Solved issue with the floor lamp

As we can see, excluding the housing interior from GI has solved our problem almost completely. We can still see a few dots here and there which are likely caused by the bright part of the lamp pole but it's much easier to deal with than the whole mess of noise we had before.

All of the renderings above have been made with a secondary ray clamp of 20.0. That shows that the issue is even present at a conservative (and most of the time default) setting of secondary ray clamping. It would be a lot worse without it.
It's also worth mentioning that there are different global illumination methods that deal differently with situations like these. All the examples above are rendered using the most "standard" method of creating interiors these days (in this case Brute Force + Lightcache in Vray). It is applicable to all renderers that use path tracing for the first global illumination bounce. However, it can even be used to explain splotches in more traditional biased methods like Irradiance Caches.