summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-02-24 10:34:03 +0200
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-02-24 10:42:18 +0200
commit9e876c4dc6a25f9f80df0431c9aad9332fb026dc (patch)
tree83c3a79299d23fab05d26d98e1ee8c4e4e31c7f4 /src
parentc3fc872e7f1b8deaa915a0de24151995a04e1c13 (diff)
Don't do unnecessary polygon fill enablings
Change-Id: I7111837454e901dc44a7aaf094f1762dcf14455c Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/datavisualization/engine/surface3drenderer.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp
index 3bc15a94..fe79efe4 100644
--- a/src/datavisualization/engine/surface3drenderer.cpp
+++ b/src/datavisualization/engine/surface3drenderer.cpp
@@ -753,7 +753,7 @@ void Surface3DRenderer::drawSlicedScene()
foreach (SurfaceSeriesRenderCache *cache, m_renderCacheList) {
if (cache->sliceSurfaceObject()->indexCount() && cache->renderable()) {
- if (cache->surfaceGridVisible()) {
+ if (!drawGrid && cache->surfaceGridVisible()) {
glEnable(GL_POLYGON_OFFSET_FILL);
glPolygonOffset(0.5f, 1.0f);
drawGrid = true;
@@ -810,6 +810,7 @@ void Surface3DRenderer::drawSlicedScene()
// Draw surface grid
if (drawGrid) {
+ glDisable(GL_POLYGON_OFFSET_FILL);
m_surfaceGridShader->bind();
m_surfaceGridShader->setUniformValue(m_surfaceGridShader->color(),
Utils::vectorFromColor(m_cachedTheme->gridLineColor()));
@@ -820,8 +821,6 @@ void Surface3DRenderer::drawSlicedScene()
m_drawer->drawSurfaceGrid(m_surfaceGridShader, cache->sliceSurfaceObject());
}
}
-
- glDisable(GL_POLYGON_OFFSET_FILL);
}
}
@@ -1269,7 +1268,7 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle)
if (cache->surfaceObject()->indexCount() && cache->isSeriesVisible() &&
sampleSpace.width() >= 2 && sampleSpace.height() >= 2) {
noShadows = false;
- if (cache->surfaceGridVisible()) {
+ if (!drawGrid && cache->surfaceGridVisible()) {
glEnable(GL_POLYGON_OFFSET_FILL);
glPolygonOffset(0.5f, 1.0f);
drawGrid = true;
@@ -1326,6 +1325,7 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle)
// Draw surface grid
if (drawGrid) {
+ glDisable(GL_POLYGON_OFFSET_FILL);
m_surfaceGridShader->bind();
m_surfaceGridShader->setUniformValue(m_surfaceGridShader->color(),
Utils::vectorFromColor(m_cachedTheme->gridLineColor()));
@@ -1338,8 +1338,6 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle)
m_drawer->drawSurfaceGrid(m_surfaceGridShader, cache->surfaceObject());
}
}
-
- glDisable(GL_POLYGON_OFFSET_FILL);
}
}