White texture details fade under white light

Hello to everyone. When I use a white-weighted texture, texture details fade under white light. When I darken the color of the light and the material, the texture color changes from white to gray. I am using sRGBencoding as the encoding type. How can I show the details of different colors in the white texture clearly without distorting the white color?


(a) a high-quality lighting setup. i’m not sure what you’re using now but using AmbientLight alone will flatten most details. Environment maps are generally the highest-quality option.
(b) enable some kind of tone mapping to improve dynamic range

That’s the proper keyword, imo. If you exhaust the dynamic range already in the texture itself, meaning: the texture has some areas where the whiteness (i.e.: brightness) is already at the maximum (255, 255, 255), exposing those to lighting can’t make those areas any brighter - they are saturated already.

What will happen instead is, that texture areas which were at - say - 95% brightness, will also reach maximum brightness when lit. The effect is, that the already saturated area appears to “bleed” out, giving you the impression of fading details at the bright end of your histogram, for loss of contrast.

I can’t give you any advice on how to deal with this on the Three.js side, though. Other than: to start out with a texture which does not have areas with maximum brightness even before you start lighting those.