We provide both a fixed sampler and an adaptive sampler.
There’s just a single parameter where to choose sampling type and sampling quality.
Generally for the Beckmann BRDF we can just forget about sampling and leave the default Adaptive.Medium that will take care of everything. GGX instead is way more problematic especially when the material is reflecting an HDR environment with tiny bright lights. This is because GGX has a ‘long tail’ which is difficult to sample.
For example the first sphere is Beckmann. With Adaptive.Medium sampling there isn’t any artifact. While the second sphere is GGX and you can see artifacts around the tiny bright lights reflections. To clean the artifacts we choose Adaptive.Smart.
Here a comparison with increasing roughness values: GGX(GTR) vs Beckmann(Ward)
In this case, if we choose a random number, where there exists an equal likelihood that any value between 0 and 1 will be produced, then more numbers will map to the important sample, S2, and thus we will sample that direction more often.