Principled BSDF Transmission behaviour

Hi devs,
would be possible to get a air like / fully transparent behaviour when setting IOR = 1.000 to the Transmission value, in the Principled BSDF? Right now it gets full black

This (transparency like Air IOR), already happens in the Refraction shader so i suppose it makes sense. It’s also very useful when setting up materials with no distorsion from refractions but high reflectivity (think about architectural glass for windows, thin highly reflective plastic sheets, an helicopter cockpit, a car windscreen… etc)


This sounds like a bug, I will look into it.

Ok great, it looked strange indeed, full black has no usefulness, while getting transparency, like refraction shader does, could lead to many interesting use cases.


It’s fixed now.


Slightly off topic, but I’d like to see a thin glass shader somehow packed with blender (at least in 2.8), because the setup is not trivial for beginners, but it’s a frequently used feature. Or there could be a checkbox on/off for no refraction. This setup also fixes fresnel on the backside.

Wouldn’t a simpler answer be the solidify modifier?

Well, no. Solidify adds one unnecessary layer for rays which means you need more bounces. Real modern window have 2-3 layers of glass, yet it’s rarely modeled this way. There are use cases for both-architectural glass and solid glass.

1 Like

Could you enhance current gorup nodes, to Fresnel can count “roughness” value to get correct reflection,
as same as Principled bsdf tansmission? I think your suggested nodes should work well for thin wall,
(keep ior for reflection as glass, water, but use 1.00 for refraction (infinity thin) )
but Ithink it can not get roughness for fresnel.

I tried to get thin wall glass shader like iray MDL for figure eye materials.
it worked but actually I got problem when see the material from back side.

so your offered nodes is very interesting for me. thanks I try to include your gorup nodes to my custom one.

I don’t know exactly what you mean. If there’s some kind of formula which drives roughness based on fresnel, then I don’t know this formula. But if you have it, it shouldn’t be difficult to rebuild it using nodes.

I forget long time about this, then I now happend to customize again my shader set-up, so I checked this topic. Do not know if you still see this forum, but what I means count roughness for fresnel is shown in those links.

Though I do not know if current blender fresnel node count roughness with glossy roughness about those days, blender not offer fresnel node which change effect with roughness.

Actually the concept work well for most of reflective shader. but the problem is it cause issue when mix use with glass. the reason is (at least I test and suppose), it use geometry node incoming mix with surface normal, then represent roughness effect for fresnel circulation.

I tried to customize it but still could not find better way. (then of course if I simply use default fresnel nodes, your shader set-up really work well for Eevee too, untill find your solution, I actually separate refraction ior as 1.00 but use fresnel ior for eye mat. then it show problem when I happed to use same shader for glass (lay comes from back side, then not count reflection correctly , (so your divide 1/ior for back face and mixing with front ior was real solution) I hoped to say thanks again,