In 2.79 RC2 when using the Principled shader, increasing the Specular value of dielectric materials (Metallic = 0.000) gives you a boost of reflection. In the case of metallic materials (Metallic = 1.000) the Specular value doesn't have any perceivable effect on the material. Whether Specular is 0 or 5000 the appearance of the surface is the same.

Should I report that as a bug or is this how it is supposed to work (because it's physically correct or whatever)?


This is the correct behaviour.

In the principled shader the specular value is used to derive the index of refrection (IOR) used for reflection on the material. However, for metals, the reflectivity/IOR is instead determined from the surface colour, so the specular value here should be ignored. Th paper it is based on can be found here. In particular section 5.2 describes the parameters, noting that for the metallic model, the specular is derived from the base colour:

The metallic model has no diffuse component and also has a tinted incident specular, equal to the base color

While not exactly the same as the principled bsdf, the unreal engine's PBR shader is also based on the same paper by disney, and uses similar parameters, their description is worth a read.

  • $\begingroup$ I noticed that modifying specular value from 0 to 1 with metals (when metallnes set to 1) still add slight white tint at grazing angles, although the changes are insignificant $\endgroup$ – Lambdadelta Apr 8 '18 at 16:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.