From 1ad5a768f691625130b66c8987b62fb100990226 Mon Sep 17 00:00:00 2001 From: Alex Szpakowski Date: Tue, 29 Dec 2015 01:11:05 -0400 Subject: [PATCH] Fixed love.graphics.newMesh(vertices) double-converting colors from sRGB to linear RGB, when gamma-correct rendering is enabled. --- src/modules/graphics/opengl/wrap_Graphics.cpp | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/src/modules/graphics/opengl/wrap_Graphics.cpp b/src/modules/graphics/opengl/wrap_Graphics.cpp index 5cbff5d0b..4cf49852e 100644 --- a/src/modules/graphics/opengl/wrap_Graphics.cpp +++ b/src/modules/graphics/opengl/wrap_Graphics.cpp @@ -706,19 +706,10 @@ static Mesh *newStandardMesh(lua_State *L) v.s = (float) luaL_optnumber(L, -6, 0.0); v.t = (float) luaL_optnumber(L, -5, 0.0); - Colorf c = { - (float) luaL_optnumber(L, -4, 255) / 255.0f, - (float) luaL_optnumber(L, -3, 255) / 255.0f, - (float) luaL_optnumber(L, -2, 255) / 255.0f, - (float) luaL_optnumber(L, -1, 255) / 255.0f - }; - - gammaCorrectColor(c); - - v.r = (unsigned char) (c.r * 255.0f); - v.g = (unsigned char) (c.g * 255.0f); - v.b = (unsigned char) (c.b * 255.0f); - v.a = (unsigned char) (c.a * 255.0f); + v.r = (unsigned char) luaL_optnumber(L, -4, 255); + v.g = (unsigned char) luaL_optnumber(L, -3, 255); + v.b = (unsigned char) luaL_optnumber(L, -2, 255); + v.a = (unsigned char) luaL_optnumber(L, -1, 255); lua_pop(L, 9); vertices.push_back(v);