diff --git a/src/Texture.cpp b/src/Texture.cpp index a120992..28817ae 100644 --- a/src/Texture.cpp +++ b/src/Texture.cpp @@ -30,9 +30,9 @@ Texture::Texture(GLuint t, const std::string& filename) { // Загрузка данных с учетом прозрачности if (channels == 3) // RGB - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, image); + glTexImage2D(GL_TEXTURE_2D, 0, GL_SRGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, image); else if (channels == 4) // RGBA - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, image); + glTexImage2D(GL_TEXTURE_2D, 0, GL_SRGB_ALPHA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, image); glGenerateMipmap(GL_TEXTURE_2D); // Генерация мипмапа для активной текстуры glBindTexture(GL_TEXTURE_2D, 0); // Отвязка активной текстуры @@ -255,9 +255,9 @@ TextureCube::TextureCube(GLuint t, const std::string (&filename)[6]) { // Загрузка данных с учетом прозрачности if (channels == 3) // RGB - glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, image); + glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_SRGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, image); else if (channels == 4) // RGBA - glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, image); + glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_SRGB_ALPHA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, image); stbi_image_free(image); // Освобождение оперативной памяти }