summaryrefslogtreecommitdiffstats
path: root/src/datavis3d
diff options
context:
space:
mode:
authorTomi Korpipää <tomi.korpipaa@digia.com>2013-05-17 13:35:54 +0300
committerTomi Korpipää <tomi.korpipaa@digia.com>2013-05-20 07:19:09 +0300
commitb449ccd00f147aae2487d06d5c4e728d3a9b85db (patch)
treedb635437eb6ecca2fa146f10d4350e30af6e5d8e /src/datavis3d
parentdd48a9d43dab9012b31a2bf9613e2c57fa3e20ec (diff)
Fixed scaling in zoom mode
When aspect ratio differs from default, zoom mode didn't scale correctly. Change-Id: I1e27425d0b29d92932d85869a49ff554df3060f3 Change-Id: I1e27425d0b29d92932d85869a49ff554df3060f3 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src/datavis3d')
-rw-r--r--src/datavis3d/engine/q3dbars.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/datavis3d/engine/q3dbars.cpp b/src/datavis3d/engine/q3dbars.cpp
index 37440689..16664868 100644
--- a/src/datavis3d/engine/q3dbars.cpp
+++ b/src/datavis3d/engine/q3dbars.cpp
@@ -243,12 +243,13 @@ void Q3DBars::drawZoomScene()
// Set view matrix
QMatrix4x4 viewMatrix;
- viewMatrix.lookAt(QVector3D(0.0f, 0.0f, 5.0f + zComp),
+ // Adjust scaling (zoom rate based on aspect ratio)
+ GLfloat camPosZoomed = 5.0f / d_ptr->m_zoomAdjustment + zComp;
+
+ viewMatrix.lookAt(QVector3D(0.0f, 0.0f, camPosZoomed),
QVector3D(0.0f, 0.0f, zComp),
QVector3D(0.0f, 1.0f, 0.0f));
- // Adjust scaling (zoom rate based on aspect ratio)
- viewMatrix.scale(d_ptr->m_zoomAdjustment);
// Set light position a bit below the camera to reduce glare (depends on do we have row or column zoom)
QVector3D zoomLightPos = defaultLightPos;