GIMP by default uses sRGB color space. I have created a two simple png textures using GIMP. The textures contain a single RGB color [0, 0, 128]. The first texture has been exported without the "save gamma" option, the second with the "save gamma" option. In my OpenGL application I load the textures using the following parameters:
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB8, img.getWidth(), img.getHeight(), 0, GL_BGR, GL_UNSIGNED_BYTE, img.accessPixels());
As you can see I don't use sRGB as a texture internal format. Then I read a texture this way:
glGetTexImage(GL_TEXTURE_2D, 0, GL_RGB, GL_UNSIGNED_BYTE, pixels);
B component contains the same value - 128 for both textures. I expected to get B component which is equal 128 for the texture exported without the "save gamma" option and B component greater than 128 for the texture exported with "save gamma" option due to gamma curve. Are my assumption correct ? Maybe the Gimp doesn't export the textures as I assumed.