I’m updating my viewer’s three-js version (REVISION) from 106 to 112 and there’s a difference with the render result.
I’ve notice that renderer.gammaInput = true is not supported but I’m loading GLTFLoader so that’s fine (baseColorTexture, emissiveTexture, and specularGlossinessTexture use sRGB encoding).
I’ve also notice that renderer.gammaOutput = true has been deprecated. I’m using renderer.outputEncoding = THREE.GammaEncoding (tried also THREE.sRGBEncoding).
My scene (lights color, position and intensity) parameters are exactly the same but the 2 versions still doesn’t look the same.
Is there anything else I can do to compensate the difference?
What is the best practice in terms of version updates in general? We are saving our scene parameters for each model - all hundreds of thousands of them. Fixing it manually is not an option.
I really don’t want to maintain 2 viewer versions.
Here’s a screenshot of the 2 versions side by side:
As mentioned on your shared link, using GLTFLoader got you covered excluding colors. On my model I don’t use emissive and all of the material colors are default (white).
I’ve tried convertSRGBToLinear anyway but it doesn’t seems to work.
I’m not saying that the newer version is incorrect, just asking for a solution for the inconsistency (if there is any).
I can also confirm that the discrepancy persist even when working without offscreen canvas. It’s the CanvasTexture from the ImageBitmapLoader that causes the difference.