Page MenuHome

Pricipled BSDF doesn't allow negative or above 1 colors for its specular/metallic part
Open, Confirmed, MediumPublic

Description

System Information
Kubuntu 16.04.3 kernel 4.10, AMDGPUpro 17.50 (legacy opecl)
CPU AMD R7 1700
GPU AMD Rx 480 8gb

Blender Version
Broken: 2.79.2
Worked: using regular glossy shader.

Short description of error

Pricipled BSDF doesn't allow negative colors for its specular part, so when we add the negative principled shader with the positive one it should render a black object but instead, it's only rendering the positive shader.
I tested the diffuse, subsubscattering and transmission parts of the principled shader and only the specular one it's not allowing the negative colors or above 1, in other words only allowing clampled colors between 0 and 1.

Exact steps for others to reproduce the error

  1. create a material and in this material, create 2 colors, one negative, the other positive
  2. connect each color to a principled shader
  3. set the "Metallic" parameter of the shaders to 1 and the "Specular" to 0
  4. add these shaders
  5. apply the material to a sphere
  6. the rendered sphere should be black but it's colored.

Details

Type
Bug

Event Timeline

iszotic (iszotic) renamed this task from Pricipled BSDF doesn't allow negative colors for its specular/metallic part to Pricipled BSDF doesn't allow negative or above 1 colors for its specular/metallic part.Mar 3 2018, 6:50 PM
iszotic (iszotic) updated the task description. (Show Details)
Brecht Van Lommel (brecht) lowered the priority of this task from Needs Triage by Developer to Confirmed, Medium.Mar 3 2018, 9:34 PM

I can confirm that, though using negative base colors is not supported at all for the Principled BSDF. It combines the various components in a physically based way and negative values don't make much sense in that context. The proper solution may not be to support negative values but to clamp them away, I need to look into it further.