summaryrefslogtreecommitdiffstats
path: root/src/datavisualization
diff options
context:
space:
mode:
authorTomi Korpipää <tomi.korpipaa@digia.com>2013-11-05 13:39:09 +0200
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-11-05 13:44:11 +0200
commit582dc50a49c60d7224f9ebbf5b5cbdf687b5f8d0 (patch)
treeceaf2d1d4c361db8ce8784c99101232c56818379 /src/datavisualization
parent91745c4b2f7933dfcb0c9eca28e87ad0fae93e66 (diff)
ES2 shadow message
Task-number: QTRD-2536 Change-Id: I82f763547a632ceada070d9440785b218b3a0011 Change-Id: I82f763547a632ceada070d9440785b218b3a0011 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src/datavisualization')
-rw-r--r--src/datavisualization/engine/abstract3drenderer.cpp18
-rw-r--r--src/datavisualization/engine/abstract3drenderer_p.h1
-rw-r--r--src/datavisualization/engine/bars3drenderer.cpp2
-rw-r--r--src/datavisualization/engine/scatter3drenderer.cpp2
4 files changed, 17 insertions, 6 deletions
diff --git a/src/datavisualization/engine/abstract3drenderer.cpp b/src/datavisualization/engine/abstract3drenderer.cpp
index 269c1302..6e3d8d81 100644
--- a/src/datavisualization/engine/abstract3drenderer.cpp
+++ b/src/datavisualization/engine/abstract3drenderer.cpp
@@ -167,8 +167,9 @@ void Abstract3DRenderer::updateTheme(Theme theme)
m_cachedTheme.setFromTheme(theme);
m_drawer->setTheme(m_cachedTheme);
+
// Re-initialize shaders
- handleShadowQualityChange();
+ reInitShaders();
}
void Abstract3DRenderer::updateScene(Q3DScene *scene)
@@ -179,7 +180,7 @@ void Abstract3DRenderer::updateScene(Q3DScene *scene)
m_cachedScene->d_ptr->sync(*scene->d_ptr);
}
-void Abstract3DRenderer::handleShadowQualityChange()
+void Abstract3DRenderer::reInitShaders()
{
#if !defined(QT_OPENGL_ES_2)
if (m_cachedShadowQuality > QDataVis::ShadowQualityNone) {
@@ -216,6 +217,19 @@ void Abstract3DRenderer::handleShadowQualityChange()
#endif
}
+void Abstract3DRenderer::handleShadowQualityChange()
+{
+ reInitShaders();
+
+#if defined(QT_OPENGL_ES_2)
+ if (m_cachedShadowQuality != QDataVis::ShadowQualityNone) {
+ emit requestShadowQuality(QDataVis::ShadowQualityNone);
+ qWarning("Shadows are not yet supported for OpenGL ES2");
+ m_cachedShadowQuality = QDataVis::ShadowQualityNone;
+ }
+#endif
+}
+
void Abstract3DRenderer::updateFont(const QFont &font)
{
m_cachedFont = font;
diff --git a/src/datavisualization/engine/abstract3drenderer_p.h b/src/datavisualization/engine/abstract3drenderer_p.h
index 133ef020..70f0dc80 100644
--- a/src/datavisualization/engine/abstract3drenderer_p.h
+++ b/src/datavisualization/engine/abstract3drenderer_p.h
@@ -135,6 +135,7 @@ protected:
virtual void initializeOpenGL();
+ void reInitShaders();
virtual void handleShadowQualityChange();
virtual void handleResize();
virtual void loadMeshFile() = 0;
diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp
index 5b4f9fcc..8ca943fb 100644
--- a/src/datavisualization/engine/bars3drenderer.cpp
+++ b/src/datavisualization/engine/bars3drenderer.cpp
@@ -120,8 +120,6 @@ void Bars3DRenderer::initializeOpenGL()
Abstract3DRenderer::initializeOpenGL();
// Initialize shaders
- handleShadowQualityChange();
-
initLabelShaders(QStringLiteral(":/shaders/vertexLabel"),
QStringLiteral(":/shaders/fragmentLabel"));
diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp
index 285560e3..e338b59f 100644
--- a/src/datavisualization/engine/scatter3drenderer.cpp
+++ b/src/datavisualization/engine/scatter3drenderer.cpp
@@ -108,8 +108,6 @@ void Scatter3DRenderer::initializeOpenGL()
Abstract3DRenderer::initializeOpenGL();
// Initialize shaders
- handleShadowQualityChange();
-
initLabelShaders(QStringLiteral(":/shaders/vertexLabel"),
QStringLiteral(":/shaders/fragmentLabel"));