Jump to content

Question about Mantra Surface Shader.


~nature~

Recommended Posts

Dear all,

I was trying to understand the mantra surface shader under the hood, I noticed the SSS bsdf component is added to other bsdf components(diffuse, reflection, refraction) before computing the energy conserve scaling factor, however after that, SSS component is exclued when actually multiplying the scaling factor with the sum of the bsdf.

anybody knows why ?

Cheers. ^-^

post-5114-131722182021_thumb.jpg

Edited by ~nature~
Link to comment
Share on other sites

I was trying to understand the mantra surface shader under the hood, I noticed the SSS bsdf component is added to other bsdf components(diffuse, reflection, refraction) before computing the energy conserve scaling factor, however after that, SSS component is exclued when actually multiplying the scaling factor with the sum of the bsdf.

anybody knows why ?

Uhh, that is quite a knot to unravel in there :)

Seems like the properly calculated SSS is added in as a straight color in the "emission" part of the vopnet (above your screenshot).

For the energy conservation calculations a fake albedo is calculated with a pbr diffuse node, with the subsurf intensity as a diffuse multiplier. I guess the idea is that the energy conservation is calculated at the "point of entry" into the shading point, and that behaves like a diffuse distribution.

The subsurface light exiting a surface somewhere else should not change the conservation of incoming energy, as it is "extra energy" from the point of view of the exit shading point. Similarly, the point where the energy goes into the subsurface layers, the conservation of energy should take into account all that energy - even though it doesn't add up the color value of that point.

Apologies if this sounds obfuscated :)

eetu.

  • Like 1
Link to comment
Share on other sites

Uhh, that is quite a knot to unravel in there :)

Seems like the properly calculated SSS is added in as a straight color in the "emission" part of the vopnet (above your screenshot).

For the energy conservation calculations a fake albedo is calculated with a pbr diffuse node, with the subsurf intensity as a diffuse multiplier. I guess the idea is that the energy conservation is calculated at the "point of entry" into the shading point, and that behaves like a diffuse distribution.

The subsurface light exiting a surface somewhere else should not change the conservation of incoming energy, as it is "extra energy" from the point of view of the exit shading point. Similarly, the point where the energy goes into the subsurface layers, the conservation of energy should take into account all that energy - even though it doesn't add up the color value of that point.

Apologies if this sounds obfuscated :)

eetu.

Thanks for your explanation^^ I think I understand it a bit now, reeaally appreciate your help. :D

Best regards.

Edited by ~nature~
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...