What is the difference between PBRMaterial and PBRMetallicRoughnessMaterial

While seeing the documentation, I can see the PBRMaterial, PBRMetallicRoughnessMaterial What is the difference between these .

Hi, @jayakannan

Both of them are based on PBRBase material, and are part of 3 PBR materials family (PBR, PBRMettalic and PBRGloss), main difference is how you set up your data , PBR for example is following metallic workflow, if you would like to read some theory there is good article

In general they should lead to same result just have different ways of setting material properties, but in reality PBRMaterial have more features and some features are working better at least for me, for example, shadows.

PBRMetallic is lighter, then PBRMaterial and that is the reason why 3d max exports it by default.

If you would like to have more in depth info feel free to ask here, will try to do my best and answer :slight_smile:


Thanks @Hersir for your answer. I have one more question. Can we add or use all attributes of PBRMaterial to PBRMetallicRoughnessMaterial ?

Take also a look at this doc’ page :wink: Mastering PBR Materials | Babylon.js Documentation


@jayakannan PBRMetal was / is planed as smaller subset of PBR, but sometimes some features are moved to base so both materials can use it, so if something specific is missing for you can always discuss with @sebavan .

I usually convert PBRMetal to PBRMaterial if I need extra features, there is help on this in page mentioned by @Vinc3r , I use script to convert between both materials, but if you wish you can force PBRMaterial export from 3d max as well, just then all materials will be PBRMaterial

1 Like