Hey, as far as I am aware the best way to get exact colors is to use a canvas texture (it will be correct regardless of the light I think) I dunno if this is the best advice for what you’re after though… I guess otherwise you could play with the Texture.encoding (maybe not using linear encoding but srgb encoding instead for example) and your lighting.
Sorry that didn’t work for you. As I said a canvas texture will do the trick for sure. Also here’s a great discussion on the entire topic of color / color management: Three color problem - #7 by drcmda best of luck!
I added 1 ambient light before, but I use MeshBasicMaterial for texture.
And I don’t want to get effect by light(MeshBasicMaterial isn’t affected by light anyway), just for test circumstance, I remove all light and run test.
Also it seems encoding(Linear | sRGB) doesn’t make difference…
Using canvas texture makes much better result but I still sense little bit of diffrence.
Someone who has suggestion or recommendation for development, please let me know.
(both renderer output & texture)
Left: sRGB
Center: Linear
Right: original image
The difference here is subtle enough that this could be related to color space of the original image. For example, if the original uses Display P3 or Adobe RGB, the browser must approximate that as sRGB. To improve that I think you would need to export an sRGB (Rec.709) version of the image instead.