(SOLVED) Best way to denoise metals that have base textures?

In the case of principled BSDF metal materials, the base colour/texture seems to become part of the gloss direct/indirect passes, rather than just being where it should be in the glossy colour pass only. This is problematic because it means you cant denoise the metal materials without violating the colour information described in the materials base texture (when denoising glossy indirect and glossy direct passes individually)

What workaround are people taking? I’ve tried a custom AOV from the metal material’s base colour, and adding that to the denoising Albedo on it’s way to the denoise node. It’s better, but it’s not great.

I noticed the same issue when using the principled’s sheen parameter, but that was easy to overcome by using a bespoke sheen node setup. Can’t think of a similar workaround for metal.

I’m denoising the individual passes by the way, so a denoise node on the direct, another on the indirect etc.

Problem solved, I’ll just old school it and not use the principled bsdf. Creating metals with the glossy node behaves as needed.

Is this considered a bug with the principled BSDF?

notice that the lack of texture/colour information in the glossy direct not only ensures the texture is left unviolated by the denoiser, it actually helps the denoiser do a better job because it doesnt have to try and differentiate between texture information and the actual reflections.

Result after denosing:

glossy direct pass (left is correct using glossy node, right incorrect using principled):

glossy indirect also contains colour information in the principled bsdf material, glossy node is correct

glossy colour pass correct for the left (glossy node), incorrect for the principled material (right)

3 Likes