"Principled v2" feedback/discussion thread

No, I get it, but as far as I understand it’ll be very similar to Standard Surface. Like a Standard Surface V2 if you will. As @brecht said he believes the Arnold Standard Surface is outdated a bit.

Adobe Substance team is also working on this to merge their Adobe Standard Surface with Arnold Standard Surface and also expand MaterialX support. So I see it all converging in one universal standard which is good in my opinion. It can be called differently in Cycles (although I’d prefer the Standard Surface name for the reasons described above) but essentially all of them should be very similar if not almost exact.

So as I see it Blender, Autodesk and Adobe are essentially working on the same standard surface which will also be compatible with MaterialX. Because if Cycles devs aren’t making it compatible with MaterialX I don’t see how it makes sense then, especially with the plans of bringing MaterialX, Hydra and better USD support in Blender.

If I’m mistaken, I expect someone will correct me.

Does anyone have a macOS build of this branch they can share with me?

You’ll need to be more specific. Are you looking for a Intel or Apple Silicon supported macOS branch?

I would need an Apple Silicon supported branch.

Here’s a version of the Principled v2 branch for Apple Silicon. It may be a bit buggy, both from in-development code, plus some janky things I did to build it. Note: This build is based on the Principled v2 branch from 5ish months ago. This means you will be missing features that were changed or added in Cycles from the last 5 months.

Unfortunately, this crashes every time I open. No worries. I’ll wait until it lands in master :slight_smile:

I’m just curious, given that PV2 is now being scheduled for 4.0, not knowing how far off that is, would it be a feasible thing to at least take the energy conserving code that’s currently working and use that in an updated current Principled BSDF? Many of us are anxious to see this enter production given the importance of energy conservation in modern renderers.

Hi! Mind sharing where you read that it is now schedule for v4? I had high hopes for it to come in v3.6 :cry:

1 Like
2 Likes

Ah I see. Thank you for your reply. Cheers!

The 4.0 release schedule begins in little less than two weeks already. 4.0 - blender - Blender Projects Although the final release won’t be before November, test builds will be available as usual already before.

4 Likes

The new code for energy conservation will replace the current code for the better.
But you can render now with energy conservation using GGX Multiscatter

No, I’m not seeing that multiscatter GGX differs much from GGX in 3.5, at least in this example. I have the last build with PV2 from about 5 months ago and when compared, PV2 clearly shows energy conservation going on, whereas GGX and mGGX are pretty much the same.

3 Likes

I can’t tell you much. What should I see?

Look at the tops of the yellow, white and blue slabs. The GGX and mGGX versions are too bright, because the glossy specular reflections are simply added to the underlying diffuse component and so they violate energy conservation. The PV2 looks darker which is correct because of the albedo scaling, PV2 only lets energy to the underlying diffuse that isn’t reflected from glossy. Look especially at the white slab with the sphere sitting on top. Given the incidence angle it reflects too much light with GGX/mGGX.

1 Like

I think that is the effect of enhanced fresnel calculations. When I hear energy conservation (regarding GGX multiscatter) I think of the uncorrect GGX behaviour that pops up when you raise the roughness, and get a darker color.

No, that’s energy preservation you’re thinking about.

Hello! Would you mind explaining the difference? In my native language they are synonyms but I don’t know all the nuances in English and I’m really curious about it. I googled it and I couldn’t find the difference in this context. Genuine curiosity here.

energy conservation - materials do not create energy
energy preservation - materials do not lose energy

5 Likes

Energy Conservation refers to a surface not reflecting more light than what comes into it. For instance, if you have a material with a Base Color, and a Specular layer on top, the Specular layer first reflects a certain amount of light, and then the base color reflects the bulk of the light in the form of diffuse reflectance. The amount of light at any point on the surface reflecting off the Specular layer can’t also reflect off the lower diffuse layer, but that’s currently what happens. This is mostly going to be noticed at higher glancing angles, at lower face-on angles with a spec value of 0.5, only about 4.25% of the light will reflect off the glossy layer so we mostly don’t notice.

What Energy Preservation does is mostly going to be noticed on a very rough specular layer, or on transparent surfaces that are quite rough. The GGX mechanism allows a loss of energy when light is back scattered off microfacets since it only reflects one. Multiscatter GGX fixes this loss by scattering multiple times, but it’s slower. I believe this is solved in PV2 using a newer mechanism.

In general energy conservation is a much larger overall issue for surfaces that have multiple BSDF layers (diffuse+glossy, or metallic+coating).

I’ve got a video that shows examples of what’s going on if you want to watch it.

3 Likes