Again, that’s what our set-up was in v22, but it broke in v23 as the textures started all being loaded into the node material with the wrong gamma inputs, and we have had to toggle those switches to compensate. The ORM and Normal are in linear space at source, and Emissive is in gamma space. So it sounds like the default behaviour from 23 onwards is just wrong, and that it was behaving correctly prior - we just needed to fix the disparity as quickly as we could.
The main problem is that before these textures get to the Node material, they’re often (but not always) being loaded into as different gamma spaces based on hardware - so we need to make sure that the gamma space is consistent across different hardware, as we are not able to compensate.
We’re testing to see if it is specifically related to KTX compression, but there is definitely something that has changed between releases.
To be clear, this is what we are seeing with this repro. I’ve updated the repository with a slightly better mesh selection so it’s easier to see the difference:
22 on PC:
22 on Mac:
23-31 on PC:
23-31 on Mac:
These are all using the same node material, all that’s changing is the installed Babylon preview build and/or platform. When we were on 22, we did have ‘Convert to gamma space’ checked on the Emissive material for example, and so it looked like it does now on 23+, but when we switched to 23, our emissive became too dark and that is why we had to disable the ‘to gamma space’ transform. Similar happened to the linear textures.
So:
- Gamma space of textures has changed between 22 and 23
- From 23 onwards gamma space works as previously on some meshes/textures on Mac
Regarding adding up PBRMetallicRoughness and Emissive, that’s a great note that I will fix on our end, but the pressing issue is the gamma space inconsistency.