summaryrefslogtreecommitdiffstats
path: root/src/datavisualization
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-12-17 14:45:42 +0200
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-12-17 14:50:25 +0200
commitd0ce5b1a785bdb1e94dd8688b26e6a69c22f9f4f (patch)
tree75b45e1d31319cdc066f719ed693ee89b5e853da /src/datavisualization
parentc42c5a5fb801ea1f6c11c44f4719f9b175fc38d8 (diff)
fix rendering issues
Change-Id: I5dee557f2f4857f586412d604040ffbeda0e78a1 Reviewed-by: Pasi Keränen <pasi.keranen@digia.com>
Diffstat (limited to 'src/datavisualization')
-rw-r--r--src/datavisualization/engine/abstract3drenderer.cpp11
-rw-r--r--src/datavisualization/engine/bars3drenderer.cpp4
-rw-r--r--src/datavisualization/engine/q3dcamera.h1
-rw-r--r--src/datavisualization/engine/q3dwindow.cpp2
-rw-r--r--src/datavisualization/engine/scatter3drenderer.cpp5
-rw-r--r--src/datavisualization/engine/surface3drenderer.cpp3
-rw-r--r--src/datavisualization/input/q3dinputhandler.cpp1
-rw-r--r--src/datavisualization/input/qtouch3dinputhandler.cpp1
8 files changed, 9 insertions, 19 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)
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());