diff options
author | Tomi Korpipää <tomi.korpipaa@digia.com> | 2013-05-17 13:35:54 +0300 |
---|---|---|
committer | Tomi Korpipää <tomi.korpipaa@digia.com> | 2013-05-20 07:19:09 +0300 |
commit | b449ccd00f147aae2487d06d5c4e728d3a9b85db (patch) | |
tree | db635437eb6ecca2fa146f10d4350e30af6e5d8e /src/datavis3d | |
parent | dd48a9d43dab9012b31a2bf9613e2c57fa3e20ec (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.cpp | 7 |
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; |