From f5660bb47845387bbd0a21a4169ae48f7177112b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Mon, 14 Oct 2013 12:05:07 +0300 Subject: Mac slice issue fix Task-number: QTRD-2390 Change-Id: Ia691fdbe9f4b3144bbd59e2ce388a7270a7669fd Reviewed-by: Miikka Heikkinen --- src/datavisualization/engine/bars3drenderer.cpp | 18 ++++++++---------- src/datavisualization/engine/drawer.cpp | 14 +++++--------- 2 files changed, 13 insertions(+), 19 deletions(-) (limited to 'src/datavisualization/engine') diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index 32a23da5..46df917e 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -295,6 +295,12 @@ void Bars3DRenderer::drawSlicedScene(const LabelItem &xLabel, // Bind bar shader m_barShader->bind(); + // Set common bar shader bindings + m_barShader->setUniformValue(m_barShader->lightP(), lightPos); + m_barShader->setUniformValue(m_barShader->view(), viewMatrix); + m_barShader->setUniformValue(m_barShader->lightS(), 0.5f); + m_barShader->setUniformValue(m_barShader->ambientS(), + m_cachedTheme.m_ambientStrength * 2.0f); // Draw bars // Draw the selected row / column for (int bar = startBar; bar != stopBar; bar += stepBar) { @@ -345,22 +351,14 @@ void Bars3DRenderer::drawSlicedScene(const LabelItem &xLabel, if (item->height() != 0) { // Set shader bindings - m_barShader->setUniformValue(m_barShader->lightP(), lightPos); - m_barShader->setUniformValue(m_barShader->view(), viewMatrix); m_barShader->setUniformValue(m_barShader->model(), modelMatrix); m_barShader->setUniformValue(m_barShader->nModel(), itModelMatrix.inverted().transposed()); m_barShader->setUniformValue(m_barShader->MVP(), MVPMatrix); m_barShader->setUniformValue(m_barShader->color(), barColor); - m_barShader->setUniformValue(m_barShader->lightS(), 0.5f); - m_barShader->setUniformValue(m_barShader->ambientS(), - m_cachedTheme.m_ambientStrength * 2.0f); + // Draw the object -#if defined (Q_OS_MAC) - m_drawer->drawObject(m_barShader, m_barObj, 0, -1); -#else m_drawer->drawObject(m_barShader, m_barObj); -#endif } } @@ -412,7 +410,7 @@ void Bars3DRenderer::drawSlicedScene(const LabelItem &xLabel, m_labelObj, m_cachedScene->activeCamera(), false, false, Drawer::LabelLeft); // Draw labels for bars - for (int col = 0; col < m_sliceSelection->size(); col++) { + for (int col = 0; col < stopBar; col++) { BarRenderItem *item = m_sliceSelection->at(col); // Draw values if (negativesComp == 1.0f) { diff --git a/src/datavisualization/engine/drawer.cpp b/src/datavisualization/engine/drawer.cpp index b3b0fe99..e2ed6748 100644 --- a/src/datavisualization/engine/drawer.cpp +++ b/src/datavisualization/engine/drawer.cpp @@ -117,12 +117,10 @@ void Drawer::drawObject(ShaderHelper *shader, AbstractObjectHelper *object, GLui glBindBuffer(GL_ARRAY_BUFFER, object->normalBuf()); glVertexAttribPointer(shader->normalAtt(), 3, GL_FLOAT, GL_FALSE, 0, (void*)0); - if (textureId || depthTextureId) { - // 3rd attribute buffer : UVs - glEnableVertexAttribArray(shader->uvAtt()); - glBindBuffer(GL_ARRAY_BUFFER, object->uvBuf()); - glVertexAttribPointer(shader->uvAtt(), 2, GL_FLOAT, GL_FALSE, 0, (void*)0); - } + // 3rd attribute buffer : UVs + glEnableVertexAttribArray(shader->uvAtt()); + glBindBuffer(GL_ARRAY_BUFFER, object->uvBuf()); + glVertexAttribPointer(shader->uvAtt(), 2, GL_FLOAT, GL_FALSE, 0, (void*)0); // Index buffer glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, object->elementBuf()); @@ -134,9 +132,7 @@ void Drawer::drawObject(ShaderHelper *shader, AbstractObjectHelper *object, GLui glBindBuffer(GL_ARRAY_BUFFER, 0); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); - if (textureId || depthTextureId) - glDisableVertexAttribArray(shader->uvAtt()); - + glDisableVertexAttribArray(shader->uvAtt()); glDisableVertexAttribArray(shader->normalAtt()); glDisableVertexAttribArray(shader->posAtt()); -- cgit v1.2.3