Significant difference in lights intensity between babylon 7 and 8

Hi everyone,
we are currently using babylon 7.34.1 and we are in the process of upgrading to babylon 8.
It generally works good without any need for any changes on our side aside for lighting. We spotted during testing that for the same settings the lights are behaving different at Babylon 8. Usually getting dimmer and in some cases way lighter (especially cases with 2d layers).

During investigation we confirmed that issue is mostly coming from lights intensity and environment intensity (IBL intensity in new version). But we cannot find straightforward way to resolve it.

Depending on case sometimes we need to increase all lights intensity, on other cases we just need to readjust IBL intensity (either decrease or increase).

Below I give some screenshots with comparison babylon 7 vs 8

As you can see the difference may be quite significant between versions.

Is there any way to migrate it automatically or do we need to just go and update all the scenes/products manually? It’s thousands of them so even a way to simulate old behavior would be live saver.

Thanks for any advice

ps. I can create some playground but since we allow for setting custom scenes and material properties per each product it’s hard to give one definitive example. I would need to create each case separately and it would take a lot of time.

cc @Evgeni_Popov

Are you using the latest version of Babylon 8 (8.38.0 to date)? We did several fixes for the PBR material after 8.0 was shipped.

Also, you should set these constants:

BABYLON.PBRSubSurfaceConfiguration.DEFAULT_LEGACY_TRANSLUCENCY = true;
BABYLON.PBRSubSurfaceConfiguration.DEFAULT_APPLY_ALBEDO_AFTERSUBSURFACE = true;
BABYLON.PBRBRDFConfiguration.DEFAULT_MIX_IBL_RADIANCE_WITH_IRRADIANCE = false;

Let us know if this resolves your issues.

@Evgeni_Popov
Thanks for the answer.

I was using 8.37.1 but updated to latest (8.38.0) and it didn’t change anything.
I tried setting these constants but it also change nothing. It looks exactly as it did without them.

I created some PG after all https://playground.babylonjs.com/#7YEDXA#2

Anyway, I went through the versions and I see that it was working fine till version 7.54.0. And after changes in 7.54.1 it behaves as reported.

So in fact on PG both 8 and 7 give the same result.
For reference Code Pen with switcher for versions (7.54.0, 7.54.1, latest) so you can see the difference in intensity - https://codepen.io/mimeeq/pen/PwNQvmW/ef5bcad9da2e58e0b8b83030cbe4d7fd

The difference in rendering is because of this change:

This was a bug fix, so not something under a flag…

If you want the same output with the newer versions, you can patch the code of the reflection block (see line 8):

1 Like