diff options
author | Tomi Korpipää <tomi.korpipaa@digia.com> | 2013-10-17 13:06:01 +0300 |
---|---|---|
committer | Tomi Korpipää <tomi.korpipaa@digia.com> | 2013-10-17 13:12:30 +0300 |
commit | d0f4eb8ef1b5e7d0b083b7ce918ff8c99895eca0 (patch) | |
tree | 977227d98e9b43579feff108c9ebd6069f9ecab5 | |
parent | 23207933984930280aaa46ef64366109cd480dda (diff) |
Removed floor lines from surface slice
- Floor lines are not visible because slice view is in orthographic
projection
Change-Id: Ia22fa08ef258228750157f5c45f1e2f8a2f3da9d
Change-Id: Ia22fa08ef258228750157f5c45f1e2f8a2f3da9d
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
-rw-r--r-- | src/datavisualization/engine/surface3drenderer.cpp | 36 |
1 files changed, 3 insertions, 33 deletions
diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index 8dfd1c65..6dbdbe7c 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -562,7 +562,7 @@ void Surface3DRenderer::drawSlicedScene() // Disable textures glDisable(GL_TEXTURE_2D); - // lines to the back + // Grid lines if (m_cachedIsGridEnabled && m_heightNormalizer) { ShaderHelper *lineShader = m_backgroundShader; // Bind line shader @@ -576,10 +576,10 @@ void Surface3DRenderer::drawSlicedScene() lineShader->setUniformValue(lineShader->ambientS(), m_cachedTheme.m_ambientStrength * 2.0f); lineShader->setUniformValue(lineShader->lightS(), 0.25f); + // Horizontal lines if (m_axisCacheY.segmentCount() > 0) { QVector3D gridLineScaleX(scaleXBackground, gridLineWidth, gridLineWidth); - // Back wall GLfloat lineStep = 2.0f * m_axisCacheY.subSegmentStep() / m_heightNormalizer; GLfloat linePos = -1.0f; int lastSegment = m_axisCacheY.subSegmentCount() * m_axisCacheY.segmentCount(); @@ -609,8 +609,7 @@ void Surface3DRenderer::drawSlicedScene() } } - // Floor lines - QVector3D gridLineScaleZ(gridLineWidth, gridLineWidth, sliceZScale); + // Vertical lines QVector3D gridLineScaleY(gridLineWidth, backgroundMargin, gridLineWidth); int lastSegment; @@ -631,35 +630,6 @@ void Surface3DRenderer::drawSlicedScene() QMatrix4x4 MVPMatrix; QMatrix4x4 itModelMatrix; - modelMatrix.translate(linePos, -backgroundMargin, zComp); - - modelMatrix.scale(gridLineScaleZ); - itModelMatrix.scale(gridLineScaleZ); - - MVPMatrix = projectionViewMatrix * modelMatrix; - - // Set the rest of the shader bindings - lineShader->setUniformValue(lineShader->model(), modelMatrix); - lineShader->setUniformValue(lineShader->nModel(), - itModelMatrix.inverted().transposed()); - lineShader->setUniformValue(lineShader->MVP(), MVPMatrix); - - // Draw the object - m_drawer->drawObject(lineShader, m_gridLineObj); - - linePos += lineStep; - } - - if (m_cachedSelectionMode == QDataVis::SelectionModeSliceRow) - linePos = m_scaleX; - else - linePos = m_scaleZ; - - for (int segment = 0; segment <= lastSegment; segment++) { - QMatrix4x4 modelMatrix; - QMatrix4x4 MVPMatrix; - QMatrix4x4 itModelMatrix; - modelMatrix.translate(linePos, 0.0f, zComp - sliceZScale); modelMatrix.scale(gridLineScaleY); itModelMatrix.scale(gridLineScaleY); |