Topic was automatically imported from the old Question2Answer platform.
Asked By
XanthiFrais
I’m using a ViewportTexture to render a UI scene to a Mesh’s texture. This works fine, however, the colors on the Mesh look washed out, while everything looks as expected in the UI scene. Doing some searches, I’ve tried changing SRGB/Linear settings and HDR on both the Viewport and the ViewportTexture, but nothing has worked. I’ve encountered this problem with a few other Godot Nodes, particularly Sprite3D, but I’ve never managed to solve it.
If it’s relevant, the material on the Mesh is using a local ViewportTexture for its albedo texture.
In GLES2, SCREEN_TEXTURE (accessed via a ShaderMaterial) does not have
computed mip-maps. So when accessing at a different LOD, the texture
will not appear blurry.
I am using GLES3, but from the example project linked, I was able to find out that my problem was that I didn’t have albedo_tex_force_srgb enabled in the flags for the SpatialMaterial my mesh was using. Enabling this flag fixed the issue.