diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-12-17 14:45:42 +0200 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-12-17 14:50:25 +0200 |
commit | d0ce5b1a785bdb1e94dd8688b26e6a69c22f9f4f (patch) | |
tree | 75b45e1d31319cdc066f719ed693ee89b5e853da /src/datavisualization/engine | |
parent | c42c5a5fb801ea1f6c11c44f4719f9b175fc38d8 (diff) |
fix rendering issues
Change-Id: I5dee557f2f4857f586412d604040ffbeda0e78a1
Reviewed-by: Pasi Keränen <pasi.keranen@digia.com>
Diffstat (limited to 'src/datavisualization/engine')
-rw-r--r-- | src/datavisualization/engine/abstract3drenderer.cpp | 11 | ||||
-rw-r--r-- | src/datavisualization/engine/bars3drenderer.cpp | 4 | ||||
-rw-r--r-- | src/datavisualization/engine/q3dcamera.h | 1 | ||||
-rw-r--r-- | src/datavisualization/engine/q3dwindow.cpp | 2 | ||||
-rw-r--r-- | src/datavisualization/engine/scatter3drenderer.cpp | 5 | ||||
-rw-r--r-- | src/datavisualization/engine/surface3drenderer.cpp | 3 |
6 files changed, 9 insertions, 17 deletions
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) |