Mainly r155 contained changes to lighting, enabling .useLegacyLights = false
by default. If you were already disabling it in r154 then I’m not sure why it wouldn’t match before/after though.
- High-level r154 → r155 migration guide: Migration Guide · mrdoob/three.js Wiki · GitHub
- Detailed guide to r155 changes: Updates to lighting in three.js r155
Here is the color management guide to changes in r152 as well, for good measure, but if you’ve narrowed it to r155 then that’s probably not the cause.
A few additional questions / comments —
- Are you using any tone mapping?
- How are you matching point lighting across three.js / Blender? I’ve never managed to do this without manually adjusting either intensity or exposure, although I know it should be possible.
- Are you using any tone mapping in three.js, or a view transform in Blender? (“Filmic” is the default in Blender 3.x, “AgX” in Blender 4.x)
- Blender’s configuration is comparable to
renderer.outputColorSpace = THREE.SRGBColorSpace
, notLinearSRGBColorSpace
… are you sure this is right? It sounds very hard to match colors and lighting without that.