diff options
Diffstat (limited to 'src/datavisualization/engine')
5 files changed, 10 insertions, 11 deletions
diff --git a/src/datavisualization/engine/abstract3drenderer.cpp b/src/datavisualization/engine/abstract3drenderer.cpp index 3ef01b71..1b436b87 100644 --- a/src/datavisualization/engine/abstract3drenderer.cpp +++ b/src/datavisualization/engine/abstract3drenderer.cpp @@ -398,7 +398,7 @@ void Abstract3DRenderer::lowerShadowQuality() updateShadowQuality(newQuality); } -void Abstract3DRenderer::fixGradient(QLinearGradient *gradient, GLuint *gradientTexture) +void Abstract3DRenderer::fixGradientAndGenerateTexture(QLinearGradient *gradient, GLuint *gradientTexture) { // Readjust start/stop to match gradient texture size gradient->setStart(qreal(gradientTextureWidth), qreal(gradientTextureHeight)); diff --git a/src/datavisualization/engine/abstract3drenderer_p.h b/src/datavisualization/engine/abstract3drenderer_p.h index 6ba21285..97951260 100644 --- a/src/datavisualization/engine/abstract3drenderer_p.h +++ b/src/datavisualization/engine/abstract3drenderer_p.h @@ -123,7 +123,7 @@ public: virtual void updateAxisLabelFormat(Q3DAbstractAxis::AxisOrientation orientation, const QString &format); virtual void fixMeshFileName(QString &fileName, QAbstract3DSeries::Mesh mesh); - void fixGradient(QLinearGradient *gradient, GLuint *gradientTexture); + void fixGradientAndGenerateTexture(QLinearGradient *gradient, GLuint *gradientTexture); signals: void needRender(); // Emit this if something in renderer causes need for another render pass. diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index 19f5d68b..63bed997 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -928,10 +928,8 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) for (int row = startRow; row != stopRow; row += stepRow) { for (int bar = startBar; bar != stopBar; bar += stepBar) { const BarRenderItem &item = m_renderingArrays.at(series).at(row).at(bar); - if (!item.value()) { - seriesPos += m_seriesStep; + if (!item.value()) continue; - } if (item.height() < 0) glCullFace(GL_FRONT); diff --git a/src/datavisualization/engine/seriesrendercache.cpp b/src/datavisualization/engine/seriesrendercache.cpp index b1c78c24..68bf2645 100644 --- a/src/datavisualization/engine/seriesrendercache.cpp +++ b/src/datavisualization/engine/seriesrendercache.cpp @@ -132,7 +132,8 @@ void SeriesRenderCache::populate(QAbstract3DSeries *series, Abstract3DRenderer * } if (seriesChanged || changeTracker.baseGradientChanged) { - renderer->fixGradient(&series->baseGradient(), &m_baseGradientTexture); + QLinearGradient gradient = series->baseGradient(); + renderer->fixGradientAndGenerateTexture(&gradient, &m_baseGradientTexture); changeTracker.baseGradientChanged = false; } @@ -142,8 +143,8 @@ void SeriesRenderCache::populate(QAbstract3DSeries *series, Abstract3DRenderer * } if (seriesChanged || changeTracker.singleHighlightGradientChanged) { - renderer->fixGradient(&series->singleHighlightGradient(), - &m_singleHighlightGradientTexture); + QLinearGradient gradient = series->singleHighlightGradient(); + renderer->fixGradientAndGenerateTexture(&gradient, &m_singleHighlightGradientTexture); changeTracker.singleHighlightGradientChanged = false; } @@ -153,8 +154,8 @@ void SeriesRenderCache::populate(QAbstract3DSeries *series, Abstract3DRenderer * } if (seriesChanged || changeTracker.multiHighlightGradientChanged) { - renderer->fixGradient(&series->multiHighlightGradient(), - &m_multiHighlightGradientTexture); + QLinearGradient gradient = series->multiHighlightGradient(); + renderer->fixGradientAndGenerateTexture(&gradient, &m_multiHighlightGradientTexture); changeTracker.multiHighlightGradientChanged = false; } } diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index ecb9696b..f0dd5f3e 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -2189,7 +2189,7 @@ void Surface3DRenderer::generateUniformGradient(const QVector3D newColor) QLinearGradient newGradient; newGradient.setColorAt(0.0, newQColor); newGradient.setColorAt(1.0, newQColor); - fixGradient(&newGradient, &m_uniformGradientTexture); + fixGradientAndGenerateTexture(&newGradient, &m_uniformGradientTexture); } } #endif |