A Cycles discussion that started with MaterialX, then became about open source standards and color

Actually the biggest clearcoat issue I have is the following: Afaik a real clearcoat would decrease the underlying specular value, resulting in the clearcoated spot here to appear darker than the floor except for the highlights - like a wet spot on the floor. Is this accounted for in the new version?


Yes, the clearcoat needs to be fixed, and the thin surface model needs to be added so the Principled convers use cases for foliage and thin translucent materials, such as curtains, paper, etc… But when you think about it, most of your use cases for the atomic shader nodes in past years were more of a workarounds rather than seeking of more flexibility/realism.

There are principled shaders in other DCCs out there too and they often don’t have these issues. So it’s not that one really needs atomic shader nodes and shader mixing to get good result. It’s just that we mostly need feature complete and bug free Principled node.

Non the less, in your example, I think the “wrong” result actually makes sense. What’s on the right looks like one medium (let’s say plastic surface) with two different roughness values of the surface (levels of polish). The wrong one looks like there’s a surface of constant roughness, and then on top of that, there’s a thin film of another material, which is translucent. So when the photons hit them, they reflect from both.

Here’s a crappy MSpaint sketch:

To verify this, I’d actually have to find a flat piece of plastic with varying roughness at home and put some thin sheet of glass over it to verify it, but it seems plausible. The more surfaces you have over each other, the more you increase the chance of the photon reflecting off the surface towards you, instead of passing through.


You are definitely right about the usage of atomic nodes.
However I finally found this post again → I myself don’t know any physics behind this, but user Hooston described what I mean here:

The paper he linked by Google also seems to suggest that.

I think - as I imagine it - in your example with a thin sheet of foil or glass ontop of a surface, you’d be right. The difference is, that a real clearcoat fills all the creases of the underlying surface and thereby changes how it reflects the light. A varnished wood table looks darker for that reason than an unvarnished one.

1 Like

The spirit comes from making things better and not rest on achievements. Its all listed and its a very good approach to make things work better. I don’t know why people even argue against making things more realistic. Do you want a better world, or not?

Hey don’t twist the words in my mouth :smile: - I already aggreed with rawalanche here. I’m just against having a shadernode with 100 inputs one day to cover every possible situation.

1 Like

Yeah thats not good in Blender. But it also has to do with nodes not having the ability to show/hide inputs. I do fear more to have just 10 inputs and no way to control shader in detail. Again an UI issue. Hd zero problems with complex properties for Vtay Octane etc in other software.

Yeah, but the original specular value don’t have to “always” be 0.5 (or IOR 1.45). While a flat patch of theoretical material would have this IOR, often you’re dealing with a porous version of it where specular energy is absorbed in the pores and “lost”. Like in this image; there is no way all specular energy would bounce back out towards the camera, lowering the IOR (specular) we should use. In some cases specular energy may even be converted to retroreflective “energy”, bouncing straight back to the source.

Also, a clearcoat (or wetness) may change other characteristics of the underlying surface, such as making the diffuse darker and more saturated. Lowering underlying specular should be sufficient to use this simplistic additional lobe even if not accurate. Since we’re typically dealing with very sharp reflections, there is no need to even do rough fresnel and using default fresnel to mix in a secondary glossy isn’t a problem. Except glossy uses GTR y=2 (GGX distribution) whereas topcoat uses GTR y=1 (berry distribution, producing a longer tail and leading to issues in the Blender implementation). If those doesn’t matter, just set it up manually. Ideally we’ll get glossy shader to work as a multilobe shader as well (useful for hazy gloss) where we also get to set the y number (or choose).

I have never had issues with the specular 0-1 term working the way it does (as described by Disney), compared to having to deal with an exponential IOR value living > 1 range. Too many complain about “too much specular” and refusing to lower specular value putting all the trust in some possibly nonexisting theoretical value. I really don’t get it. It’s an “artistic value” - start using it. :smiley:

Personally I think there are far more important shading aspects to address than Principled. Hazy gloss (multilobe), proper fuzz shader (isotropic as well as “anisotropic” based on UV driven nap direction), roughness driven fresnel with switch for one-sided, glitter/microdetail, microroughness (could be a new node), complex IORs for metals (artist friendly and N/K based for the purists), iridescence, as well as al the new goodies from geonodes added to material nodes (boolean math and switches, integers, what and how to expose/promote and so on). There’s more to material nodes than just the Principled shader.


you can show/hide inputs. Pressing Ctrl+H hides all non-connected inputs of selected nodes. This could be made more accessible though.

1 Like

Sigh…once more nobody seems to have basic reading comprehension nowadays.

  1. Fair enough, but I’m using Pixar as a primary driving force of Material X at the moment vs. going into a Wikipedia history of how it came to be which seems outside of the scope of the conversation.

  2. I never said that VDB’s came from Pixar, just mentioned VDB’s and USD as other open technologies examples.

  3. I never said Arnold being more accurate, just that some prefer VRay or Arnold shading operations better.

  4. They might be hung-ho, but Houdini is not fully 100% on board yet, which is why I said that adoption (more than 2 years into it) is “slow”, but I suppose that’s personal and subjective huh?

Thanks for clarifying your personal bias.


For the record I’m not against MatX anymore than I am against the color blue. Blender will get it when it gets it. But like any other “standard” technology (like ACES for instance), there will be pros and cons that some like and some don’t.

I guess it depends on the type of artists huh? If you’re a texture and shading artist and work with various vendors and are constantly re-configuring materials for delivery to different render engines…sure. But for CG artists who tend to work by themselves or with very small teams, and who tend to use the same render engine, then the benefits are not particularly interesting. It’s the same with USD – it’s designed for studios and large teams in mind primarily, but for individual artists the benefits vs. the change of workflow isn’t very appealing.

1 Like

I guess that would depend on how inter-operational it all is between render engines. I mean imagine following a cool tutorial in creating a certain ‘neat’ MaterialX shader that they happen to be doing in Maya and then being able to basically make the same shader or just download it as MaterialX in Blender and end up with the same Cycles rendered result.

Sure. Why not?

For the record, I do think Cycles needs to get better as far as image quality, and if MatX brings it there then for me that would be the real appeal. I love using Blender and its pros far outweigh its cons for my personal needs – but if there is a massive lack IMHO is the quality of Cycles as compared to just about any other render engine (with the exception of Redshift which IMHO looks like ass).

But yeah, if MatX = better Cycles final renders, then bring it on!

I believe all these render quality rants are more subjective than not. Aesthetics have no specifics/standards. These other renderers are not automated, rather, their outputs are driven by skilled and knowledgeable artists. Render quality isn’t quintessential to specified engineering.

1 Like

That’s just not true. Anyone who used cycles for the 6 years between 2.61 (2011) to 2.79 (2017) will have necessarily had to learn to build shaders using ‘atomic shader nodes’. Cycles has existed for longer without Principled than with it.

Even after principled was introduced - many users still construct their shaders from scratch (myself included). I don’t have a single material where I use Principled and I don’t post material suggestions or solutions to these forums using it either.

For simpler materials - individual shader nodes are far more useful and intuitive IMO. Far from discouraging Blender users from using them - they should be encouraged, so that they have a better understanding about how materials are constructed and the contributions various settings have.

Sorry but I think you’re totally wrong on this. If that was the case as you say, the world would only need 1 render engine and everyone would be absolutely 100% happy with that.

The one thing that we do agree on is that skill and experience are important of course, but all things being equal there are substantial, quantifiable and objective differences in the level of perceived realism and physical accuracy between one render engine and another. There is a reason why Arnold, Renderman and Vray are established render engines with the major VFX houses, and I assure you that those guys have put a lot of thought and research into it before making that determination.

There are tons of incredibly talented artists using Blender on a daily basis, but I have yet to see a single Cycles render that matches the physical realism of, say Corona for architectural visualization.


I think this is more related to tonemapping than the render engine itself. The laws of light don’t change and now we even have caustics. Although I personally really like filmic.

Most if not all of those renderers have Blender integration - so if that level of realism is what you are after and Cycles doesn’t currently hit the spot, just use one of those renderers.

So you’re saying that NOBODY around here knows how to tone map properly? Come on!

Why the “if you don’t love it, leave it” response? How about instead we all push for better from Cycles? Is it so difficult to believe that Cycles could achieve higher realism than it already does through coding improvements? Call me an optimist!

1 Like

You optimist!

Huh? I wasn’t talking about colorgrading but about the default tonemap (Filmic) of Cycles.