diff --git a/common/GL_utilities.c b/common/GL_utilities.c index f2f918a6820926b38f821370ecab75c08f26cf20..f7c770ffc7652e78eb0fba3bb9eb6fd33af53337 100644 --- a/common/GL_utilities.c +++ b/common/GL_utilities.c @@ -323,7 +323,7 @@ FBOstruct *initFBO2(int width, int height, int int_method, int create_depthimage glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); } - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL); + glTexImage2D(GL_TEXTURE_2D, 0, GL_SRGB8_ALPHA8, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, fbo->texid, 0); if (create_depthimage!=0) diff --git a/common/LoadTGA.c b/common/LoadTGA.c index 6214fd5c2845ee3740b2caaa21a5b2dbfb0a7e38..4ca4dfdcb04823167e8c5254a7cf55e927fedf32 100644 --- a/common/LoadTGA.c +++ b/common/LoadTGA.c @@ -217,6 +217,7 @@ bool LoadTGATexture(const char *filename, TextureData *texture) // Loads A TGA F { char ok; GLuint type = GL_RGBA; // Set The Default GL Mode To RBGA (32 BPP) + GLuint internal_fmt = GL_SRGB8_ALPHA8; ok = LoadTGATextureData(filename, texture); // Loads A TGA File Into Memory if (!ok) @@ -230,12 +231,14 @@ bool LoadTGATexture(const char *filename, TextureData *texture) // Loads A TGA F if (texture->bpp == 8) // Was The TGA 8 Bits? Should be grayscale then. { type=GL_RED; // If So Set The 'type' To GL_RED + internal_fmt = GL_RED; } if (texture->bpp == 24) // Was The TGA 24 Bits? { - type=GL_RGB; // If So Set The 'type' To GL_RGB + type = GL_RGB; + internal_fmt=GL_SRGB8; // If So Set The 'type' To GL_RGB } - glTexImage2D(GL_TEXTURE_2D, 0, type, texture->width, texture->height, 0, type, GL_UNSIGNED_BYTE, texture[0].imageData); + glTexImage2D(GL_TEXTURE_2D, 0, internal_fmt, texture->width, texture->height, 0, type, GL_UNSIGNED_BYTE, texture[0].imageData); if (gMipmap) { diff --git a/src/main.cpp b/src/main.cpp index b934e443d51ae7b10ff4eacb3693ef61a911dfba..31a8e4e930ccf4c60816640fbc6a55e2b9f916fb 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -42,6 +42,8 @@ struct Scene { mat4 top_view_matrix = lookAtv(vec3(0, 0, 0), vec3(0, -1, 0), vec3(0, 0, 1)); void init() { + glEnable(GL_FRAMEBUFFER_SRGB); + Model *ground_model = LoadModel("models/ground.obj"); Model *surface_model = LoadModel("models/surface.obj"); Model *waterfall_model = LoadModel("models/wide_cube.obj");