What changed in r135 about MestStandardMaterial?

I have a scene that looked like this with r134:

Now it looks like this:

The most affected parts are the modules (in blue), with a texture that now looks a bit more washed-away. They use a MestStandardMaterial:

new THREE.MeshStandardMaterial({
    map: module_texture,
    flatShading: true,
    roughness: 0.1,
    metalness: 0.5,
}),

Is this change something expected? What could be affecting this change and, in particular, which parameters could I tweak to try to get the same looks with 135 as with 134? (assuming it is possible to do so)

Since it is not a reproducible case, any pointer/idea would be appreciated, even if it is a miss. I had a look at the changelog, but did not find anything I could relate to this change in looks (with my limited Three.js knowledge). :blush:

We had to revert the usage of SRGB8_ALPHA8 with r135 which is a WebGL 2 specific feature for decoding sRGB textures to linear space via WebGL. We introduced the feature for better rendering quality in r133 however the decode on Windows browsers took way more time than before. The performance regression was actually a more critical issue than the rendering problem.

When the performance issue is solved, we are going to add SRGB8_ALPHA8 back.

BTW: r135 should actually look equal to r132.

2 Likes

Thanks! Good to know it is not related to changes in the material nor is something I could tweak by changing parameters.

I created an issue to track status and future updates: Enable usage of SRGB8_ALPHA8 · Issue #22892 · mrdoob/three.js · GitHub

1 Like