diff options
author | Tomi Korpipää <tomi.korpipaa@digia.com> | 2013-10-22 10:48:03 +0300 |
---|---|---|
committer | Tomi Korpipää <tomi.korpipaa@digia.com> | 2013-10-22 12:33:45 +0300 |
commit | 09c9dec8ed80c310d0037240e9aa28255dff4ae0 (patch) | |
tree | bbaa966b4c7b07be1c3b82e3f0b0cd900f62b30a /src/datavisualization/engine/scatter3drenderer.cpp | |
parent | 4840bfadd324f9905f52de83145415203d030a60 (diff) |
Slice view lighting fixed
Task-number: QTRD-2490
+ grid line lighting fixed
Change-Id: Ieed6b3ab52baca958b84a814093ccd1e6fa8ba71
Change-Id: Ieed6b3ab52baca958b84a814093ccd1e6fa8ba71
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src/datavisualization/engine/scatter3drenderer.cpp')
-rw-r--r-- | src/datavisualization/engine/scatter3drenderer.cpp | 56 |
1 files changed, 14 insertions, 42 deletions
diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp index 68c74554..a187e3a4 100644 --- a/src/datavisualization/engine/scatter3drenderer.cpp +++ b/src/datavisualization/engine/scatter3drenderer.cpp @@ -654,6 +654,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) if (m_cachedIsGridEnabled && m_heightNormalizer) { ShaderHelper *lineShader = m_backgroundShader; + // Bind line shader lineShader->bind(); @@ -663,6 +664,18 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) lineShader->setUniformValue(lineShader->view(), viewMatrix); lineShader->setUniformValue(lineShader->color(), lineColor); lineShader->setUniformValue(lineShader->ambientS(), m_cachedTheme.m_ambientStrength); +#if !defined(QT_OPENGL_ES_2) + if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + // Set shadowed shader bindings + lineShader->setUniformValue(lineShader->shadowQ(), m_shadowQualityToShader); + lineShader->setUniformValue(lineShader->lightS(), + m_cachedTheme.m_lightStrength / 20.0f); + } else +#endif + { + // Set shadowless shader bindings + lineShader->setUniformValue(lineShader->lightS(), m_cachedTheme.m_lightStrength / 2.5f); + } // Rows (= Z) if (m_axisCacheZ.segmentCount() > 0) { @@ -689,7 +702,6 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) for (int segment = 0; segment <= lastSegment; segment++) { QMatrix4x4 modelMatrix; QMatrix4x4 MVPMatrix; - QMatrix4x4 depthMVPMatrix; QMatrix4x4 itModelMatrix; if (m_yFlipped) @@ -707,7 +719,6 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) } MVPMatrix = projectionViewMatrix * modelMatrix; - depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; // Set the rest of the shader bindings lineShader->setUniformValue(lineShader->model(), modelMatrix); @@ -717,20 +728,14 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) #if !defined(QT_OPENGL_ES_2) if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { + QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; // Set shadow shader bindings - lineShader->setUniformValue(lineShader->shadowQ(), m_shadowQualityToShader); lineShader->setUniformValue(lineShader->depth(), depthMVPMatrix); - lineShader->setUniformValue(lineShader->lightS(), adjustedLightStrength); - // Draw the object m_drawer->drawObject(lineShader, m_gridLineObj, 0, m_depthTexture); } else #endif { - // Set shadowless shader bindings - lineShader->setUniformValue(lineShader->lightS(), - m_cachedTheme.m_lightStrength); - // Draw the object m_drawer->drawObject(lineShader, m_gridLineObj); } @@ -771,19 +776,12 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; - lineShader->setUniformValue(lineShader->shadowQ(), m_shadowQualityToShader); lineShader->setUniformValue(lineShader->depth(), depthMVPMatrix); - lineShader->setUniformValue(lineShader->lightS(), adjustedLightStrength); - // Draw the object m_drawer->drawObject(lineShader, m_gridLineObj, 0, m_depthTexture); } else #endif { - // Set shadowless shader bindings - lineShader->setUniformValue(lineShader->lightS(), - m_cachedTheme.m_lightStrength); - // Draw the object m_drawer->drawObject(lineShader, m_gridLineObj); } @@ -839,18 +837,12 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; - lineShader->setUniformValue(lineShader->shadowQ(), m_shadowQualityToShader); lineShader->setUniformValue(lineShader->depth(), depthMVPMatrix); - lineShader->setUniformValue(lineShader->lightS(), adjustedLightStrength); - // Draw the object m_drawer->drawObject(lineShader, m_gridLineObj, 0, m_depthTexture); } else #endif { - // Set shadowless shader bindings - lineShader->setUniformValue(lineShader->lightS(), m_cachedTheme.m_lightStrength); - // Draw the object m_drawer->drawObject(lineShader, m_gridLineObj); } @@ -892,19 +884,12 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; - lineShader->setUniformValue(lineShader->shadowQ(), m_shadowQualityToShader); lineShader->setUniformValue(lineShader->depth(), depthMVPMatrix); - lineShader->setUniformValue(lineShader->lightS(), adjustedLightStrength); - // Draw the object m_drawer->drawObject(lineShader, m_gridLineObj, 0, m_depthTexture); } else #endif { - // Set shadowless shader bindings - lineShader->setUniformValue(lineShader->lightS(), - m_cachedTheme.m_lightStrength); - // Draw the object m_drawer->drawObject(lineShader, m_gridLineObj); } @@ -955,18 +940,12 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; - lineShader->setUniformValue(lineShader->shadowQ(), m_shadowQualityToShader); lineShader->setUniformValue(lineShader->depth(), depthMVPMatrix); - lineShader->setUniformValue(lineShader->lightS(), adjustedLightStrength); - // Draw the object m_drawer->drawObject(lineShader, m_gridLineObj, 0, m_depthTexture); } else #endif { - // Set shadowless shader bindings - lineShader->setUniformValue(lineShader->lightS(), m_cachedTheme.m_lightStrength); - // Draw the object m_drawer->drawObject(lineShader, m_gridLineObj); } @@ -1012,19 +991,12 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) { // Set shadow shader bindings QMatrix4x4 depthMVPMatrix = depthProjectionViewMatrix * modelMatrix; - lineShader->setUniformValue(lineShader->shadowQ(), m_shadowQualityToShader); lineShader->setUniformValue(lineShader->depth(), depthMVPMatrix); - lineShader->setUniformValue(lineShader->lightS(), adjustedLightStrength); - // Draw the object m_drawer->drawObject(lineShader, m_gridLineObj, 0, m_depthTexture); } else #endif { - // Set shadowless shader bindings - lineShader->setUniformValue(lineShader->lightS(), - m_cachedTheme.m_lightStrength); - // Draw the object m_drawer->drawObject(lineShader, m_gridLineObj); } |