Matching LPEs between renderers.

   1424   2   3
User Avatar
Member
30 posts
Joined: 8月 2019
オフライン
I'm trying my hand at figuring out similarities between Arnold and Karma in terms of AOVs/Render Vars.

There seems to be some distinct differences for LPEs like for example Karma using G(Glossy) instead of S like a lot of the other render engines do but overall one would hope that they somewhat match in behavior.

Currently I'm stuck at sheen.
It seems like Arnold and MaterialX has a concept of sheen in their shaders and in Arnold it's treated as part of the "specular" model and has it's own LPE that can be accessed with "C<RS'sheen'>.*".
But in karma it seems like sheen is treated as part of the diffuse calculation instead of it's own thing and I can't seem to access or isolate it like I can in Arnold.

For example coat works great and can be accessed with "C<RG.'coat'>.*"
but trying the same for sheen, "C<RG.'sheen'>.*.", gives me nothing.

Am I missing something here?
Has anyone played around with this before and could maybe guide me in the right direction?
User Avatar
Member
8177 posts
Joined: 9月 2011
オフライン
Sheen might be a separable lobe in Karma, but probably doesn't have a label. You could submit an RFE to request for it be possible to isolate from the diffuse lobe.
User Avatar
Member
11 posts
Joined: 7月 2019
オフライン
Hello, I apologize for reviving this topic, but I am experiencing the same issue described here. I am unable to find a way to extract the sheen component via LPE. Additionally, while the coat image contribution can be extracted using the syntax mentioned above, the same syntax does not work for removing the coat contribution from the specular (Glossy) contribution, like this: `C<RG>.*`

I am confused as to why the `S` token is not recognized by Karma, as it is part of the OSL event types and, from my understanding, is not identical to `G`. However, Karma's implementation might differ from the official OSL documentation.
  • Quick Links