diff options
author | Mika Salmela <mika.salmela@digia.com> | 2013-10-08 15:41:45 +0300 |
---|---|---|
committer | Mika Salmela <mika.salmela@digia.com> | 2013-10-09 13:22:02 +0300 |
commit | d6a5baf471f054c0d2711bd6a24f5a309ed32e2a (patch) | |
tree | dde0aa2e32ab5ed8f3d0369a9dbc14bdd65c3961 /src/datavisualization/engine/selectionpointer.cpp | |
parent | 45bdd538baae5d41ab772a0430917080503ad89b (diff) |
Aspect ratio preservation for surface slice view
Task-number: QTRD-2387
Change-Id: I51e9900d419931e75d5df2f5962590ee5f3cdbc7
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Pasi Keränen <pasi.keranen@digia.com>
Diffstat (limited to 'src/datavisualization/engine/selectionpointer.cpp')
-rw-r--r-- | src/datavisualization/engine/selectionpointer.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/datavisualization/engine/selectionpointer.cpp b/src/datavisualization/engine/selectionpointer.cpp index d1a4c42a..6c3e0c8b 100644 --- a/src/datavisualization/engine/selectionpointer.cpp +++ b/src/datavisualization/engine/selectionpointer.cpp @@ -34,6 +34,8 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE +const GLfloat sliceUnits = 2.5; + SelectionPointer::SelectionPointer(Drawer *drawer) : QObject(0), m_labelShader(0), @@ -102,11 +104,12 @@ void SelectionPointer::render(GLuint defaultFboHandle) QMatrix4x4 viewMatrix; QMatrix4x4 projectionMatrix; if (m_cachedIsSlicingActivated) { - GLfloat camZPosSliced = 5.0f / m_autoScaleAdjustment + zComp; - viewMatrix.lookAt(QVector3D(0.0f, 0.0f, camZPosSliced), + GLfloat aspect = (GLfloat)m_mainViewPort.width() / (GLfloat)m_mainViewPort.height(); + viewMatrix.lookAt(QVector3D(0.0f, 0.0f, zComp + 1.0), QVector3D(0.0f, 0.0f, zComp), QVector3D(0.0f, 1.0f, 0.0f)); - projectionMatrix.ortho(-3.0f, 3.0, -3.0, 3.0, 0.1f, 100.0f); + projectionMatrix.ortho(-sliceUnits * aspect, sliceUnits * aspect, + -sliceUnits, sliceUnits, -1.0f, 14.0f); } else { viewMatrix = camera->viewMatrix(); projectionMatrix.perspective(45.0f, (GLfloat)m_mainViewPort.width() @@ -117,11 +120,6 @@ void SelectionPointer::render(GLuint defaultFboHandle) GLfloat scaledFontSize = 0.05f + m_drawer->font().pointSizeF() / 500.0f; GLfloat scaleFactor = scaledFontSize / (GLfloat)textureSize.height(); - // Set up projection matrix -// QMatrix4x4 projectionMatrix; -// projectionMatrix.perspective(45.0f, (GLfloat)m_mainViewPort.width() -// / (GLfloat)m_mainViewPort.height(), 0.1f, 100.0f); - QMatrix4x4 modelMatrix; QMatrix4x4 MVPMatrix; |