From d0ce5b1a785bdb1e94dd8688b26e6a69c22f9f4f Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 17 Dec 2013 14:45:42 +0200 Subject: fix rendering issues MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I5dee557f2f4857f586412d604040ffbeda0e78a1 Reviewed-by: Pasi Keränen --- examples/audiolevels/audiolevels.cpp | 3 +++ src/datavisualization/engine/abstract3drenderer.cpp | 11 +++++++---- src/datavisualization/engine/bars3drenderer.cpp | 4 ---- src/datavisualization/engine/q3dcamera.h | 1 + src/datavisualization/engine/q3dwindow.cpp | 2 +- src/datavisualization/engine/scatter3drenderer.cpp | 5 ----- src/datavisualization/engine/surface3drenderer.cpp | 3 --- src/datavisualization/input/q3dinputhandler.cpp | 1 - src/datavisualization/input/qtouch3dinputhandler.cpp | 1 - 9 files changed, 12 insertions(+), 19 deletions(-) diff --git a/examples/audiolevels/audiolevels.cpp b/examples/audiolevels/audiolevels.cpp index 2786e5c5..3677c1f1 100644 --- a/examples/audiolevels/audiolevels.cpp +++ b/examples/audiolevels/audiolevels.cpp @@ -49,6 +49,9 @@ AudioLevels::AudioLevels(Q3DBars *graph, QObject *parent) m_graph->setTheme(new Q3DTheme(Q3DTheme::ThemeIsabelle)); m_graph->theme()->setGridEnabled(true); m_graph->theme()->setBackgroundEnabled(false); + QFont font = m_graph->theme()->font(); + font.setPointSize(10); + m_graph->theme()->setFont(font); QBar3DSeries *series = new QBar3DSeries; series->setMesh(QAbstract3DSeries::MeshBar); m_graph->addSeries(series); diff --git a/src/datavisualization/engine/abstract3drenderer.cpp b/src/datavisualization/engine/abstract3drenderer.cpp index ddff9fd3..ec2b1ecd 100644 --- a/src/datavisualization/engine/abstract3drenderer.cpp +++ b/src/datavisualization/engine/abstract3drenderer.cpp @@ -171,15 +171,18 @@ void Abstract3DRenderer::updateScene(Q3DScene *scene) updateInputPosition(QPoint(logicalPixelPosition.x() * devicePixelRatio, logicalPixelPosition.y() * devicePixelRatio)); - m_viewport = m_cachedScene->d_ptr->glViewport(); - m_secondarySubViewport = m_cachedScene->d_ptr->glSecondarySubViewport(); + m_viewport = scene->d_ptr->glViewport(); + m_secondarySubViewport = scene->d_ptr->glSecondarySubViewport(); - if (m_primarySubViewport != m_cachedScene->d_ptr->glPrimarySubViewport()) { + if (m_primarySubViewport != scene->d_ptr->glPrimarySubViewport()) { // Resize of primary subviewport means resizing shadow and selection buffers - m_primarySubViewport = m_cachedScene->d_ptr->glPrimarySubViewport(); + m_primarySubViewport = scene->d_ptr->glPrimarySubViewport(); handleResize(); } + scene->activeCamera()->d_ptr->updateViewMatrix(m_autoScaleAdjustment); + // Set light position (rotate light with m_cachedScene->activeCamera(), a bit above it (as set in defaultLightPos)) + scene->setLightPositionRelativeToCamera(defaultLightPos); if (Q3DScene::invalidSelectionPoint() == logicalPixelPosition) { updateSelectionState(SelectNone); diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index f8afd0dc..ecdac21f 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -253,10 +253,6 @@ void Bars3DRenderer::updateScene(Q3DScene *scene) m_hasHeightAdjustmentChanged = false; } - scene->activeCamera()->d_ptr->updateViewMatrix(m_autoScaleAdjustment); - // Set light position (rotate light with camera, a bit above it (as set in defaultLightPos)) - scene->setLightPositionRelativeToCamera(defaultLightPos); - Abstract3DRenderer::updateScene(scene); updateSlicingActive(scene->isSlicingActive()); diff --git a/src/datavisualization/engine/q3dcamera.h b/src/datavisualization/engine/q3dcamera.h index 8019da8b..9287e15a 100644 --- a/src/datavisualization/engine/q3dcamera.h +++ b/src/datavisualization/engine/q3dcamera.h @@ -147,6 +147,7 @@ private: friend class Q3DCameraPrivate; friend class Q3DScenePrivate; + friend class Abstract3DRenderer; friend class Bars3DRenderer; friend class Surface3DRenderer; friend class Scatter3DRenderer; diff --git a/src/datavisualization/engine/q3dwindow.cpp b/src/datavisualization/engine/q3dwindow.cpp index 379a2f5a..5285b585 100644 --- a/src/datavisualization/engine/q3dwindow.cpp +++ b/src/datavisualization/engine/q3dwindow.cpp @@ -177,7 +177,7 @@ void Q3DWindow::resizeEvent(QResizeEvent *event) Q3DScene *scene = d_ptr->m_visualController->scene(); scene->d_ptr->setWindowSize(QSize(width(), height())); - scene->d_ptr->setViewport(QRect(x(), y(), width(), height())); + scene->d_ptr->setViewport(QRect(0, 0, width(), height())); } /*! diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp index 6050911c..00452cf7 100644 --- a/src/datavisualization/engine/scatter3drenderer.cpp +++ b/src/datavisualization/engine/scatter3drenderer.cpp @@ -224,10 +224,6 @@ void Scatter3DRenderer::updateScene(Q3DScene *scene) m_hasHeightAdjustmentChanged = false; } - scene->activeCamera()->d_ptr->updateViewMatrix(m_autoScaleAdjustment); - // Set light position (rotate light with m_cachedScene->activeCamera(), a bit above it (as set in defaultLightPos)) - scene->setLightPositionRelativeToCamera(defaultLightPos); - Abstract3DRenderer::updateScene(scene); } @@ -259,7 +255,6 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) // Calculate view matrix QMatrix4x4 viewMatrix = activeCamera->viewMatrix(); - QMatrix4x4 projectionViewMatrix = projectionMatrix * viewMatrix; int seriesCount = m_visibleSeriesList.size(); diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index 66a8ff2b..0b5d75d3 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -531,9 +531,6 @@ void Surface3DRenderer::updateScene(Q3DScene *scene) m_hasHeightAdjustmentChanged = false; } - scene->activeCamera()->d_ptr->updateViewMatrix(m_autoScaleAdjustment); - scene->setLightPositionRelativeToCamera(defaultLightPos); - Abstract3DRenderer::updateScene(scene); if (m_selectionPointer) diff --git a/src/datavisualization/input/q3dinputhandler.cpp b/src/datavisualization/input/q3dinputhandler.cpp index 53a66b52..5d730c47 100644 --- a/src/datavisualization/input/q3dinputhandler.cpp +++ b/src/datavisualization/input/q3dinputhandler.cpp @@ -157,7 +157,6 @@ void Q3DInputHandler::mouseMoveEvent(QMouseEvent *event, const QPoint &mousePos) yRotation -= mouseMoveY; scene()->activeCamera()->setXRotation(xRotation); scene()->activeCamera()->setYRotation(yRotation); - scene()->activeCamera()->d_ptr->updateViewMatrix(1.0f); setPreviousInputPos(inputPosition()); setInputPosition(mousePos); diff --git a/src/datavisualization/input/qtouch3dinputhandler.cpp b/src/datavisualization/input/qtouch3dinputhandler.cpp index 32b8c609..42769562 100644 --- a/src/datavisualization/input/qtouch3dinputhandler.cpp +++ b/src/datavisualization/input/qtouch3dinputhandler.cpp @@ -203,7 +203,6 @@ void QTouch3DInputHandlerPrivate::handleRotation(const QPointF &position) yRotation -= mouseMoveY; camera->setXRotation(xRotation); camera->setYRotation(yRotation); - camera->d_ptr->updateViewMatrix(1.0f); q_ptr->setPreviousInputPos(inputPos.toPoint()); q_ptr->setInputPosition(position.toPoint()); -- cgit v1.2.3