Well because there is legacy. Before 2014 we didn’t have gamma correction.
Well… depends. A color you set in the engine by doing new ColorRGBA(0.5,0.5,0.5,1.0) is considered in linear space when you use gamma correction. But this color will be converted to srgb when rendered on screen, so it will look brighter than you expect. To resolve this ether you turn gamma correction off, either you set it on and you do
new ColorRGBA().setAsSrgb(0.5,0.5,0.5,1.0). this will Linearise the color and then it will be converted back to srgb when rendered on screen. so you will have exactly a 0.5,0.5,0.5 color on screen.
So it can affect unshaded yes.
Again… this is not about having a “nice image output” or having “almost the same result”, it’s about having linear colors to work with in the lighting shaders. and then convert these colors back in a space that the monitor expects.
I’m gonna put an end to this discussion because I’m getting a bit tired to re explain things again and again.
Gamma correction will be enabled by default in 3.3.
Why? : Because it doesn’t makes sense for any new project to not have it especially when you use any lighting model like PBR or phong. I don’t want to see people doing a new project with fancy PBR models and not have gamma correction on because “I didn’t know what it did so I didn’t check the box”.
If you started your game month/years ago without gamma correction and you have tweaked your visuals so that it looks good to you, just disable it and you’ll be fine. Nobody will complains that’s the lighting is wrong anyway since you tweaked your lighting so that it’s not obvious.