mirror of
https://github.com/love2d/love.git
synced 2026-08-16 16:20:42 +02:00
Improved performance slightly when love.graphics.setColor is used heavily with automatic batching.
--HG-- branch : minor
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user