I’ve recently bumped babylon version from 6.7.0 to 8.8.5 in my project and noticed that I no longer can get same visuals as before.
I was importing gltf and using a simple loop which creates standardmaterial for each material and sets old albedo to emissiveTexture of created material. That was looking very good and bright. However after update everything looks very dark, and the weird part is if I set emissiveColor(1,1,1) then it just gets 100% white and I don’t see emissiveTexture.
Note: if I set emissiveColor(0.5,0.5,0.5) then I can see my emissiveTexture but this emissiveColor is like being added and looks as tint instead of multiplying the color of the texture.
Is there any fix to that?
Here’s an example of standardmaterial with emissive texture, and lighter screenshot is with material.emissiveColor.set(0.5,0.5,0.5).
Do you mind sharing a Playground so we can check?
cc @sebavan
The behavior you are explaining is the same since a long time in StandardMaterial.
As you can see here in version 5:
It behaves like version 8 and the last change was more than 8 years ago:
for only some spaces 
Are you sure you were not using PBR before where it is indeed multiplied ?
Thank you for providing a demo playground, I’ve spent some time trying to reproduce the issue but couldn’t! And you know what… after I tried to replace diffuseTexture in my scene with a pic from url, the texture was rendered with a correct color, e.g. not dark.
Ok, I’m sorry that I gave a bit wrong input information - I am using standard material with diffuseTexture from albedo and emissiveColor(1,1,1). I am not using emissiveTexture, that was my mistake.
However seems like there’s something EITHER in GLTF export I am getting from blender which makes textures appear darker, OR there is something in gltf importer in newer versions of babylon which makes them darker. I will continue to investigate and give more information once I figure out.
2 Likes
Alright, I kinda found the solutions:
I stopped turning all imported materials into standardmaterial, and in existing material I say material.unlit = true. That gave me same bright result I had before, however material is PBR I think. I don’t know if the performance would suffer, because I was converting to StandardMaterial initially to improve fps and simplicity.