mtlx shader different in karma/arnold

   1873   3   2
User Avatar
Member
8 posts
Joined: 10月 2014
Offline
First i render a sample shader in karma and arnold.
Without metalness,everything looking great,they look same.


But,if i set some value too metalness,reflection have defferect color.and arnold look more Correct.
Did i do something wrong?


sorry for my english.



houdini 19.5.403
htoa 6.1.4.0
Image Not Found

Attachments:
with_metalness.jpg (566.5 KB)
without_metalness.jpg (549.4 KB)
untitled.hip (1.1 MB)

User Avatar
Member
7761 posts
Joined: 9月 2011
Online
the standard surface specifies using a conductor fresnel for the metallic term, which is what Karma is using. I suspect that having a value of 0 in the blue channel causes some wild slopes or zero division when generating the blue channel fresnel curve. I tested changing the blue channel floor to 0.01 and it got rid of the crazy yellow tone of the falloff.

The color value is someone implausible for a metal, try looking at a table of physical values for a good sense of what they might be:
https://physicallybased.info/ [physicallybased.info]
User Avatar
Member
8 posts
Joined: 10月 2014
Offline
It looks like basecolor to metalness-specular useing different colorspace.
They also happend in specular color/tramission color.
Sheen/coat work fine.
really make me confuse.

thank you jsmack.

jsmack
the standard surface specifies using a conductor fresnel for the metallic term, which is what Karma is using. I suspect that having a value of 0 in the blue channel causes some wild slopes or zero division when generating the blue channel fresnel curve. I tested changing the blue channel floor to 0.01 and it got rid of the crazy yellow tone of the falloff.

The color value is someone implausible for a metal, try looking at a table of physical values for a good sense of what they might be:
https://physicallybased.info/ [physicallybased.info]
User Avatar
Member
7761 posts
Joined: 9月 2011
Online
chongsong
It looks like basecolor to metalness-specular useing different colorspace.

Its not a different color space, if you compare the principled shader to the standard surface and look at the center of the spheres, the colors match--this is the basecolor reflectivity. The difference is in the edge falloff color. With the standard surface, metalness is implemented using conductor fresnel where specular color is the edge color and basecolor is the face color. However, since the color is determined by the complex fresnel equations with some mapping from the input colors to complex IOR the actual color blend will be different from a simple linear blend between the colors. The principled shader does a simple blend to white using the Schlick approximation. I don't know what the Arnold surface does, it used to also use a conductor fresnel, but maybe it clamps the input colors.

I don't know why specular color or transmission would be different, most likely arnold does transmission color as attenuation, whereas karma currently uses a simple constant tint to the transmission color.
  • Quick Links