"Principled v2" feedback/discussion thread

The principled-v2 branch has now been purged from the list of branches after the latest cleanup:

I hope this is not a bad sign and Blender 3.6 is still the target.


I hope so too that development is still aim for 3.6.


My guess this was probably an accident, or the wish is to shift the development into a fork instead of a branch in the main repository.

If the desire is to stop development on Principled V2, then we would probably see it in some up coming meeting notes.

If anyone was concerned that all the progress for the Principled V2 branch was lost due to it’s removal, it was not. There are multiple copies spread across various forks of Blender, and I just pushed a copy to my fork as well.

Here are a few forks that contain the Principled V2 branch:

  1. weizhen/blender: Blender - blender - Blender Projects
  2. pmoursnv/blender: The official Blender project repository. - blender - Blender Projects
  3. Alaska/blender: The official Blender project repository. - blender - Blender Projects

Thanks, I didn’t expect the Principled v2 development to be binned just because the branch disappeared and I still have high hopes for 3.6.

According to the release schedule, 3.6 is just a few weeks ahead:

(the lower part is about Blender 3.6)

but “bcon2” means “improve and stabilize”


which also means “no new features”. Everything has to be ready for main branch until the 17th week. And the 17th week of this year is this week if I’m not mistaken.

Fingers crossed!

Here is the planning : Milestones - blender - Blender Projects

1 Like

Continuing the discussion from 24 April 2023:

On the Blender Foundation Grant page, Lukas is listed in the part time grants for January - June 2023. Doesn’t that imply some kind of reporting ? Lukas’s weekly report page hasn’t been updated in 3 months.

I don’t mean to sound too inquisitive, I’m simply eager to see this feature land and would appreciate some clarity to manage my expectations.


True he’s been quiet lately but in the past week he worked on the PV2. He removed the multi GGX code - if I remember correctly. And he’s showed up on the new Hair shading implementation by weizhen. I feel there’s a lot of behind the scene work


I know, it’s probably too late to bring this up but there was a discussion in another place between blender heads and I was surprised that not many people in that discussion were aware about Arnold Standard Surface and the fact that it’s open sourced.

That made me thinking are the Blender devs aware of this? I think you are but then I have another question.

Is there a particular reason you didn’t think of implementing it in Cycles and instead went the hard way doing everything from scratch yourself?

Personally, as an artist, I find Arnold Standard Surface the easiest to understand and use. There is also a wide adoption of the standard. Both Redshift and Octane implemented it. I think render engine in Clarisse used it too. It’s probably implemented in other software too I’m not aware.

It also has a great compatibility with MaterialX out of the box since Autodesk contributing to MaterialX standard as well.

Adobe Substance team is also announced that they and Autodesk are working on common open source material standard. I believe it’ll expand/unify the Arnold Standard Surface and Adobe Standard Material and they’ll also keep supporting compatibility with MaterialX.

So a lot of the work was done already with Arnold Standard Surface and it’ll also keep getting support and development where needed. Doesn’t it make sense to use this work? Especially when it was proven in production for many years and also have good users feedback?

Doesn’t it seem like a bit wasteful investing devs time on a new uber shader when there is a good one available already and it’s open source?


@AlexeyAdamitsky I’m quite familiar with it, I worked on the initial implementation in Arnold and gave it its name.

Most of the work for Principled v2 is not in that small amount of open source OSL code you linked to, but rather in the implementation of the BSDFs, subsurface scattering, albedo scaling for energy conservation, sampling, upgrading the various individual BSDF nodes along with it, Eevee and SVM implementation, backwards compatibility, node UI, etc.

Some of the same improvements as the Adobe shader are being done in Principled v2 as well. I think it makes more sense for us to aim at that iteration instead of trying to match Standard Surface exactly which is somewhat outdated now.


I was aware that you worked on Arnold didn’t know about the rest. Thanks for sharing. I like the name standard surface. It has a good ring to it.

This is great to know. I always felt like Principled wasn’t doing enough to give me the expected results in Cycles while in other render engines it was very easy to get what I needed with standard surface. But it’s been discussed countless times by other users so I won’t go there.

Yes, knowing what you explained I will agree. If I understand it right your are basically working on the next iteration/version of the standard surface. It seems like Blender, Autodesk and now Adobe are all converging on one standard surface which should also be compatible with MaterialX. It would be amazing if was the case and the surface had consistent naming and behavior across the apps. It makes the life of the artist so much easier.

The last small suggestion is to name the new version of the shader - Standard Surface. It can be Cycles Standard Surface. Like Adobe Standard Surface. It’s a really smart name and is so mach easier to fast search when adding the shader (at least for the right hand users). You just have to write “std“ to get access to the shader. It’s way more difficult/annoying to reach all the way to the right on the keyboard to “p" and than all the way back to “r" and again all the way to the right to “i“ to find the most used Principled shader.

Anyway, I am really happy you’re working on the updating the shader. Thank you.

1 Like

I think he’s talking about PV2 and not something completely different.

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