Rough black material is not black

Hello!
I’m working currently on PBR Materials and ran into issues with black rough materials.
The Setup looks like this, I have an HDRI vom HDRI Haven & a mesh that has following parameters:
Color: 0
Roughness: 1
My Problem is that the material does not behave the way I expected it to, it is way to bright.


If I recreate the materal usind the same HDRI in Unreal, I get the desired effect.

I’m aware of the possibility to decrease the env. intensity, but that would also affect the reflection intensity, because I would need to decrease it to 0.1 to get to the desired black color.

I also noticed, that the there are huge jumps in the look, when I change the Roughenss parameter from 0 to 0.1 and from 0.99 to 1. Why is it like that?

I’m looking forward to your answers & say thanks in advance to everybody, who takes the time to read this.

Welcome aboard!

Could you setup a repro in the Playground (https://playground.babylonjs.com/), it will be a lot easier for people to help you?

1 Like

I found the issue, it was the BRDF Texture, for some reason it was upside down & I don’t remember where I got it from…


I generated a new one with the new (IBL Tools) and the shader behaves much better, then it did with the one on the right. To me look identical just the right one is flipped.

I also noticed that the one from IBL Tools still differs from the default one in Babylon. Is there a reason for that? Did I generate it wrong on the IBL Tools, website?

All in all it is good to know at least, what is causing the problems. The bad news is, that we would have to reconfigure over 300 Materials…
How is the BRDF affecting the shader? Sofar I noticed it only changes the way the HDRI is being reflected on the mesh, so it would be enough to adjust the Environment Intensity for the materials to get them back to the desired brightness?

Thank you in advance~

The BRDF is indeed different, I don’t know why…

The Babylon BRDF has some data for sheen embeded in the blue channel, but even when exporting the BRDF from the IBL tool with the sheen embeded, the picture is not the same.

Maybe @sebavan will be able to shed some light on this.

Actually checking both 4.1 and 4.2 preview with spector the texture looks the same:

4.2:
image

4.1:
image

The correct texture is embedded in the package. Why are you loading it from outside ?

It might be tricky cause it is encoded in RGBD and might not require a Y flip. Could you share a playground ?

It lools correct here: https://www.babylonjs-playground.com/#2FDQT5#340