diff options
author | Tomi Korpipää <tomi.korpipaa@digia.com> | 2013-04-25 13:25:09 +0300 |
---|---|---|
committer | Tomi Korpipää <tomi.korpipaa@digia.com> | 2013-04-25 13:29:29 +0300 |
commit | 2675b0faeb9ae25cde5f708392ea20ebbf353f88 (patch) | |
tree | 44559be3a8147d2a48e823bf7b2e24c6f439e02c /src/datavis3d | |
parent | f4f36fcb1f79849b0f468adfd51297f5e52a28ce (diff) |
Bug fixes
Selection texture needed re-initializing after resize.
Label rotations fixed in zoom mode.
Change-Id: I98f14e1f98c27c08521da3ac14a348a154135e3a
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src/datavis3d')
-rw-r--r-- | src/datavis3d/engine/q3dbars.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/datavis3d/engine/q3dbars.cpp b/src/datavis3d/engine/q3dbars.cpp index 57f610f0..536502e7 100644 --- a/src/datavis3d/engine/q3dbars.cpp +++ b/src/datavis3d/engine/q3dbars.cpp @@ -1118,7 +1118,7 @@ void Q3DBars::drawLabel(const QDataItem &item, const LabelItem &label, modelMatrix.rotate(rotationY, 0.0f, 1.0f, 0.0f); modelMatrix.rotate(rotationX, 1.0f, 0.0f, 0.0f); - if (!rotateAlong) { + if (useDepth && !rotateAlong) { // Apply negative camera rotations to keep labels facing camera QPointF rotations = CameraHelper::getCameraRotations(); modelMatrix.rotate(-rotations.x(), 0.0f, 1.0f, 0.0f); @@ -1258,8 +1258,11 @@ void Q3DBars::resizeEvent(QResizeEvent *event) GLfloat zoomAdjustment; div = qMin(width(), height()); zoomAdjustment = defaultRatio * ((width() / div) / (height() / div)); - qDebug() << "zoom adjustment" << zoomAdjustment; + //qDebug() << "zoom adjustment" << zoomAdjustment; d_ptr->m_zoomAdjustment = qMin(zoomAdjustment, 1.0f); // clamp to 1.0f + + // Re-init selection buffer + d_ptr->initSelectionBuffer(); } void Q3DBars::setBarSpecs(QSizeF thickness, QSizeF spacing, bool relative) @@ -1671,6 +1674,12 @@ void Q3DBarsPrivate::initSelectionShader() void Q3DBarsPrivate::initSelectionBuffer() { #ifndef USE_HAX0R_SELECTION + if (m_selectionTexture) { + m_textureHelper->glDeleteFramebuffers(1, &m_selectionFrameBuffer); + m_textureHelper->glDeleteRenderbuffers(1, &m_selectionDepthBuffer); + m_textureHelper->deleteTexture(&m_selectionTexture); + //m_textureHelper->deleteTexture(&m_selectionDepthTexture); + } m_selectionTexture = m_textureHelper->createSelectionTexture(q_ptr->size(), m_selectionFrameBuffer, m_selectionDepthBuffer); |