summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomi Korpipää <tomi.korpipaa@digia.com>2013-10-17 13:06:01 +0300
committerTomi Korpipää <tomi.korpipaa@digia.com>2013-10-17 13:12:30 +0300
commitd0f4eb8ef1b5e7d0b083b7ce918ff8c99895eca0 (patch)
tree977227d98e9b43579feff108c9ebd6069f9ecab5
parent23207933984930280aaa46ef64366109cd480dda (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.cpp36
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);