Hi, I build my game for iPad and I found that the same image is much brighter than running on a mac.

I tried changing VRAM compression settings under GLES3 but it is no luck. There are my settings down below.

  • Could be a gamma issue. I had this problem on GLES2 Android, where the brightness (really the gamma conversion) was totally different.

    In general, though, every single monitor (even two monitors that are the exact same model) do not have the same gamma. They are factory adjusted, but even so, you could buy two of the same monitor and put them next to each other and they will look different. I doubt that is the case here, since Apple makes the displays on both the MacBook and iPad and they are usually good regarding calibration. But it is something to keep in mind, especially when you support cross-platform and have no idea what displays your users will have.

    I don't think Godot allows you to control the gamma/sRGB settings in the editor (project settings). However, if you are using shaders, you can override the functionality. If you are not using shaders, then you can adjust whether sRGB is enabled or disabled on the image. This is in the Import settings. It defaults to Detect, but it can make mistakes, so you might want to force either Enable or Disable, depending on what you are doing. In general, you do want sRGB, but it's more important for 3D games. With 2D, you can always disable it and adjust the colors in GIMP/Photoshop if you are having issues.

Could be a gamma issue. I had this problem on GLES2 Android, where the brightness (really the gamma conversion) was totally different.

In general, though, every single monitor (even two monitors that are the exact same model) do not have the same gamma. They are factory adjusted, but even so, you could buy two of the same monitor and put them next to each other and they will look different. I doubt that is the case here, since Apple makes the displays on both the MacBook and iPad and they are usually good regarding calibration. But it is something to keep in mind, especially when you support cross-platform and have no idea what displays your users will have.

I don't think Godot allows you to control the gamma/sRGB settings in the editor (project settings). However, if you are using shaders, you can override the functionality. If you are not using shaders, then you can adjust whether sRGB is enabled or disabled on the image. This is in the Import settings. It defaults to Detect, but it can make mistakes, so you might want to force either Enable or Disable, depending on what you are doing. In general, you do want sRGB, but it's more important for 3D games. With 2D, you can always disable it and adjust the colors in GIMP/Photoshop if you are having issues.

    cybereality I doubt that is the case here, since Apple makes the displays on both the MacBook and iPad and they are usually good regarding calibration.

    They source them, likely from the same manufacturer, they don't actually run their own fabs for them tho. Desktop macs have been gamma 1.8 for like forever, I wouldn't be surprised however if iOS followed the web standard which is sRGB or gamma 2.2. The bizarre thing is that the higher gamma value should also mean higher contrast tho...thus 2.2 should on average at least, be darker.

    edit: seems that OSX 10.6 actually did switch the default to gamma 2.2, if iOS instead still sticks to 1.8 then that would explain the difference.

    I haven't tested Godot on iOS, but on my work with macOS (versus Linux and Windows), I have not noticed any gamma difference.

    cybereality

    Hi, sorry for reply lately, somehow I didn't get the message from the forum.
    It is just as you say, it turns to the color which I expect after assigning gamma 1.8 in the shader. Thank you very much!

    It makes me think about how do I know if the devices using the gamma 2.2 or 1.8? In OSX or iOS, I might try to change the gamma with the system version (not sure if it is possible to detect the version automated). But how about Android? Do I need to apply different settings to different phones/pads (Samsung Galaxy, Asus ROG phone whatever)? Or just like the iOS that it's all about Android core versions matters? I know I should test as possible on different mobile/pad devices but there are so many different kinds...

      bingrunj Do I need to apply different settings to different phones/pads (Samsung Galaxy, Asus ROG phone whatever)?

      sRGB is the standard, most devices should follow it. Apple has a historic reason why some of their devices might be 1.8, since the apple gamma 1.8 preceded the sRGB standards existence. Easiest might be to just implement a settings screen and have an option to choose between 1.8 and 2.2 in there.

        Yes, 2.2 is the standard. Most AAA games allow you do customize it (this is the brightness screen you see at the beginning).