From 960d6010125af65db183c3998d890299c577f326 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 10 Jun 2014 21:10:09 +0300 Subject: In modernopengl dont set color if it already same. --- src/render/modernopenglgraphics.cpp | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) (limited to 'src/render/modernopenglgraphics.cpp') diff --git a/src/render/modernopenglgraphics.cpp b/src/render/modernopenglgraphics.cpp index 3f6c3595b..c4d6e8ec9 100644 --- a/src/render/modernopenglgraphics.cpp +++ b/src/render/modernopenglgraphics.cpp @@ -188,25 +188,28 @@ void ModernOpenGLGraphics::setColor(const Color &color) void ModernOpenGLGraphics::setColorAll(const Color &color, const Color &color2) { - mColor = color; mColor2 = color2; mColorAlpha = (color.a != 255); - if (mTextureDraw) + if (mColor != color) { - mglProgramUniform4f(mSimpleProgramId, - mSimpleColorUniform, - static_cast(color.r) / 255.0F, - static_cast(color.g) / 255.0F, - static_cast(color.b) / 255.0F, - static_cast(color.a) / 255.0F); - } - else - { - mglUniform4f(mSimpleColorUniform, - static_cast(color.r) / 255.0F, - static_cast(color.g) / 255.0F, - static_cast(color.b) / 255.0F, - static_cast(color.a) / 255.0F); + mColor = color; + if (mTextureDraw) + { + mglProgramUniform4f(mSimpleProgramId, + mSimpleColorUniform, + static_cast(color.r) / 255.0F, + static_cast(color.g) / 255.0F, + static_cast(color.b) / 255.0F, + static_cast(color.a) / 255.0F); + } + else + { + mglUniform4f(mSimpleColorUniform, + static_cast(color.r) / 255.0F, + static_cast(color.g) / 255.0F, + static_cast(color.b) / 255.0F, + static_cast(color.a) / 255.0F); + } } } -- cgit v1.2.3-60-g2f50