Running into an issue with the add shader and intersecting geometry in 2.79

Hello everyone,

I have some projects in 2.78 and I’m now planning on transitioning them to 2.79. While transitioning my projects I noticed a difference between my renders. I did some further testing and I noticed that the add shader with a Transparent BSDF and a Translucent BSDF give you different results depending on what blender you’re using. This only happens with objects that intersect with each other. I’ve also downloaded 2.8 beta to see if it was fixed and it also produced a different result. If anyone has an explanation as to what has caused it or a solution to get the 2.79 version to look closer to what I have in 2.78 it would be very much appreciated!

2.78 (with the desired effect)

2.79 (its blowing out)

2.8 (closer to 2.78 but looks darker)

Bump. If anyone has an idea why this is happening or how I can get around this issue in 2.79 it would be much appreciated!

i get a error, if i click on your pasteall link.

to me all looking not right,because it seems at all intersecting areas, light was added or increased.i dont know your mat,or lighting.how can a intersecting mat be brighter ,then the material itself?i guess, you have a add node for the translucent and transparent used,and now we see the double in light intensity with the intersection?

hard to say without seeing your blend file

it could be of course, that if you layering more material/objects ,that the opacity increases with thickness

without seeing your nodes,i would say if you are not adding extra light with add nodes to the material,it should behave like it should.you could use mix node instead for example.

here from chocofur tutorials,you can see the effect if you are adding to much



Regarding the overburn, think about what’s happening. You’re saying nearly all light hitting from camera side is diffusely reflected. Added to that is nearly all light hitting from opposite side being translucently lit from the backside. That can’t happen afaik, the rendering equation have to balance out.

I’m curious though, does there exist some kind of official furnace test for translucent materials? I’m not even sure using translucency for volumetric objects should even be a thing, as the effect falls apart once an object gets a thickness (although I sometimes use it that way myself).

It’s the same as adding diffuse and glossy without paying attention to what goes into them (usually a fresnel mix shader, or otherwise controlled correctly if using an add shader). Using an add shader isn’t automatically wrong (as is sometimes mentioned), but the color inputs going into the shaders then have to be controlled.

As for differences, I’m clueless. The maths must have changed, or deeper stuff influences the outcome. Sounds like something for the devs to answer if you ask me. However, intersecting volumes isn’t really realistic either.

he used a add node with translucent shader and transparent shader,if you add a transparent shader you can see trough your objects,and then you can see the reflections on the object too

yes,with fresnel mix fac,you get your reflection vs transmission.

as in the chocofur tut examples.the problem with the adding node is,if used wrong, the risk that you adding more light,than its lighting shine on the object

if you think about what translucency is,it is a propertie of a material itself you want to behave the same as the real mat for example.
if the material is only diffuse ,it cant be translucent.or if its only glossy, it cant be translucent and so on.
it has to be a mix of translucent vs diffuse or glossy ect.

the same with transparency,optical it is less critical,but if you add full transparency .you make a material that the light can shine complete trough the object.without transparency this isnt possible.this can help alot for water/under water scenes for example.

I setup my materials in two or three stages.

  1. Absorption/transmissive mix: Everything that gets into the material and gives it color. This includes rays that are bounced back diffusely (diffuse, velvet, sss) and rays that are bounced forward diffusely (translucency), sss, etc. Transparent and refraction as required; refraction can use incoming normal for thin surfaces (like leaves) if you want “highlights” on the backside (translucency is purely diffuse and not light direction dependent). Sounds odd, but “diffuse reflection” is actually absorption (bounced back, fully random) while “translucency” is absorption (bounced forward, fully random) on the other side. Furthermore, this net result can be additionally darkened towards the glancing edges if you want to simulate a particularly thick gloss - the fresnel of the coat material doesn’t change when it gets thicker, it only gets harder to see through (disregarding internal reflections and color pickup effects). Unlike fresnel for the glossy part below, I don’t think there are any scientific angle based methods of mixing any of these. Texture based or mix factor will usually work for me.

  2. Glossy or anisotropic mix (sometimes even multiple): The above (which can be a complex mayhem :p) is mixed with fresnel. So now you have fresnel to mix between all absorption effects and all reflection effects. Note that anisotropic is limited in most renderers (incl Cycles), in that we can’t have long highlight tails without high roughness, but we can somewhat fake it using Bechman which has some “interesting” anisotropic properties :slight_smile:

  3. Shadows: May need special love at the end of the chain if you have anything transmissive going on. I.e. for curtains, they would cast more shadow at the lights glancing edges because more fabric volume is being penetrated. Or fake thin glass panes (such as windows) would be less transparent for light at an angle (just as for us when if becomes more reflective at glancing angles).

(4) Emission: Comes last, and I may sometimes do some trickery if I want to fakely change the indirect nature of translucency and turn it into a direct light source (such as a lamp shade - no need to rely on truly heavy stuff such as real translucency if you can avoid it).

(5) Volumectrics: I never use it for surface based materials. Fake as hell, but if I need colored glass I’ll go colored refraction rather than volumetric absorption.

All that being said - I’ll happily bend the “rules” if it benefits the end result.

@CarlG @pixelgrip Thank you for replying! Here is the blend file https://file.io/wVlji9 I had to upload it to a different location since pasteall is having issues.