PBR Metallic Roughness Texture and useDelayedTextureLoading scene option

Hello everyone!

A problem occurs when the “useDelayedTextureLoading” option is used in combination with metallicTexture and metallicRoughnessTexture on PBRMetallic and PBRMetallicRoughnessMaterial materials. In essence, the material completely loses the roughness and becomes completely smooth (see images attached).

I have prepared a playground with two different loadable scene files.

https://playground.babylonjs.com/#42GEV7

One with the activated option “scene_delayed.babylon” and the other with the option not activated “scene_not_delayed.babylon”.

I couldn’t figure out where the problem is, can you give me a hand?

Thanks,
Matteo

Your two scene files are not identical (not counting useDelayedTextureLoading).

There are a couple of differences in light/camera position/parameters that I don’t think are important (still you should fix that to minimize the possible causes of the problem), but you have also in your metallicTexture:

Can you try to set the same value here to be sure it is not part of the problem? The texture is found in both cases by the browser, so it’s likely not the problem but one never knows…

Weird, seems OK to me (we just have to replace the scene name in the loader, right?)

Hi Evgeni,
now the scene files should be identical, except for the useDelayedTextureLoading property.
Thanks

Hi Vinc3r
If you move camera to look at the object from below (see the images I attached) you should see the material completely smooth in the delayed loading case.
Thanks

Here is a temp fix:
https://playground.babylonjs.com/#42GEV7#1

The problem is that the CreatePrefilteredData should turn off delay loading to get the data prepared and this is not the case for now. By moving outside I can fix it for now as the scene is not yet flagged as delayed but I will send a fix asap

1 Like

Hi Deltakosh,
thanks for your reply, I will wait for the fix and try to use your suggestion about CreatePrefilteredData.
Thanks,
Matteo

1 Like

Hi @Deltakosh,
just to better understand, with the fix it will be possible to use PBR materials with delayed texture loading? Working on a product configurator, I need to have scenes with many materials but with only a few actually used, based on the particular configuration chosen by the user. With the delayed loading of the textures I avoid downloading all the textures initially, but only when necessary.
Thanks

Actually the fix is live so you can see that your PG is now working :slight_smile:

1 Like

Great! Thanks a lot! :slightly_smiling_face: