Mtlx Std Surface transmissive only but still reflective?

   1581   4   0
User Avatar
Member
82 posts
Joined: 6月 2020
Offline
When I configure a MtlX Standard Surface to be only transmissive (ie: transmission = 1; diffuse, spec, etc = 0) I can still see the reflection of objects and lights in the material. Turning specular back on makes the reflections brighter which says to me that they are getting doubled up by the transmission.

Can someone explain why this is? It seems like a bug to me but I'll concede that I'm not totally sure so figured I'd ask here first.

In Arnold, a purely transmissive material with specular set to 0 will show no reflections, just refraction, which is exactly what I'd expect. So it makes sense then to use both transmission and specular in conjunction for a plausible material.

With the MtlX StdSurface, if transmission also contributes to spec, then it seems like specular should be turned off when using transmission to avoid double bright reflections but even that seems wrong.

Anyone have any insight?
User Avatar
Member
7737 posts
Joined: 9月 2011
Online
weird, does seem like a bug
User Avatar
Member
8521 posts
Joined: 7月 2007
Online
I see it happening only in CPU, XPU seems cleaner
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
スタッフ
418 posts
Joined: 9月 2016
Offline
Hi. You're likely seeing internal reflection which is contributed by transmission lobe via fresnel factors, so they can still appear even if you disable specular. There is no clear separation of tasks for transmission bsdfs for total internal reflection (which we want) vs other internal reflections (which we don't want). This is something that we will address in upcoming major release, but currently there is no plan to backport to 19.5 and earlier due to compatibility/look preservation.
User Avatar
Member
82 posts
Joined: 6月 2020
Offline
Thanks for the clarification dlee! And to the others who responded.
  • Quick Links