I have a scene with background set to THREE.Color. Background color is not tonemapped, and i can set it with a css color. The issue is that Reflector is applying tonemapping to the whole mirror image, so the reflected background color is tonemapped. I tried using a background texture, but while it solves the problem of having different colors, I can’t control the color seen on the screen.
Is this expected behavior of Reflector?
If it is, how could I modify Reflector to apply tonemapping only to pixels that are not part of the background?
Yes. Unfortunately, this issue is not easy to fix since selectively applying tone mapping in the fragment shader without evaluating additional information is not possible.
How about you use a canvas texture as a background? The canvas would allow you to change the color as you like and you should have no problems with tone mapping.
Will CanvasTexture be handled differently than DataTexture when set as scene background?
I did a test with DataTexture and the result is having tone mapping applied to both the scene background and the background reflected in the mirror, which is fine to get the colors to match but does not let control the background color rgb because of tone mapping
There shouldn’t be no difference.