jeanphi wrote:Regarding BxDF usage, look at SampleF, when you sample the base, you apply the coating without a check.
Ah right, bad assumptions on my part.
jeanphi wrote:Also why do you prevent coating weight to go below .5? If the coating doesn't interact much, it shouldn't be sampled much.
Initially I let it go down to 0 at near-normal angles, however this actually lead to more noise than the current approach. Once I've fixed the rest I can play around a bit with the constants, perhaps we can go lower than 0.5, however I suspect it depends a lot on the base material.
Do you have any further suggestions regarding using a specular base material? From what I can see if the base is specular I'll have to sample the base, otherwise it'll just be black (try fex with a mirror base material).
However should I just use NumComponents or should I always call base's SampleF, and if specular don't do the random selection? If so, how do I handle Pdf() correctly?