--HG-- branch : minor
@@ -1232,9 +1232,7 @@ void Graphics::setColor(Colorf c)
c.b = std::min(std::max(c.b, 0.0f), 1.0f);
c.a = std::min(std::max(c.a, 0.0f), 1.0f);
- Colorf nc = c;
- gammaCorrectColor(nc);
- gl.setConstantColor(nc);
+ gl.setConstantColor(c);
states.back().color = c;
}
@@ -344,9 +344,10 @@ void OpenGL::prepareDraw()
if (state.constantColor != state.lastConstantColor)
{
- const Colorf &c = state.constantColor;
+ state.lastConstantColor = state.constantColor;
+ Colorf c = state.constantColor;
+ gammaCorrectColor(c);
glVertexAttrib4f(ATTRIB_CONSTANTCOLOR, c.r, c.g, c.b, c.a);
- state.lastConstantColor = c;
@@ -236,7 +236,7 @@ public:
/**
* Sets the constant color (vertex attribute). This may be applied
- * internally at draw-time.
+ * internally at draw-time. This gets gamma-corrected internally as well.
**/
void setConstantColor(const Colorf &color);
const Colorf &getConstantColor() const;