summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/surface3drenderer.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-10-31 12:25:00 +0200
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-10-31 13:34:06 +0200
commit3f2dd48dbbb2a67ffc00ddab36b44c0449455126 (patch)
tree3999ef41197f8861a867cb5ec95361e5dd77e297 /src/datavisualization/engine/surface3drenderer.cpp
parentb44b030ec0c74649daee92160c73cbd2fe93d7c1 (diff)
Cleaning controller callbacks from renderers, part 2
Removed m_controller from renderers so it won't accidentally be used again. Replaced the remaining callbacks with queued signals. Task-number: QTRD-2216 Change-Id: Ib10bc661bcdc3d810baa8b2513f5e6dd67f7207e Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavisualization/engine/surface3drenderer.cpp')
-rw-r--r--src/datavisualization/engine/surface3drenderer.cpp46
1 files changed, 4 insertions, 42 deletions
diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp
index 1ebdac57..72f7db1d 100644
--- a/src/datavisualization/engine/surface3drenderer.cpp
+++ b/src/datavisualization/engine/surface3drenderer.cpp
@@ -60,7 +60,6 @@ const uint invalidSelectionId = uint(-1);
Surface3DRenderer::Surface3DRenderer(Surface3DController *controller)
: Abstract3DRenderer(controller),
- m_controller(controller),
m_labelStyle(QDataVis::LabelStyleFromTheme),
m_font(QFont(QStringLiteral("Arial"))),
m_isGridEnabled(true),
@@ -101,6 +100,7 @@ Surface3DRenderer::Surface3DRenderer(Surface3DController *controller)
m_selectionTexture(0),
m_selectionResultTexture(0),
m_shadowQualityToShader(33.3f),
+ m_cachedSmoothSurface(true),
m_flatSupported(true),
m_selectionPointer(0),
m_selectionActive(false),
@@ -118,14 +118,11 @@ Surface3DRenderer::Surface3DRenderer(Surface3DController *controller)
QStringLiteral(":/shaders/fragmentSurfaceFlat"));
if (!tester.testCompile()) {
m_flatSupported = false;
- m_controller->setSmoothSurface(true);
+ emit requestSmoothSurface(true);
qWarning() << "Warning: Flat qualifier not supported on your platform's GLSL language."
" Requires at least GLSL version 1.2 with GL_EXT_gpu_shader4 extension.";
}
- m_cachedSmoothSurface = m_controller->smoothSurface();
- updateSurfaceGridStatus(m_controller->surfaceGrid());
-
// Shadows are disabled for Q3DSurface in Tech Preview
updateShadowQuality(QDataVis::ShadowQualityNone);
@@ -2094,43 +2091,8 @@ void Surface3DRenderer::updateDepthBuffer()
m_depthTexture = m_textureHelper->createDepthTexture(m_mainViewPort.size(),
m_depthFrameBuffer,
m_shadowQualityMultiplier);
- if (!m_depthTexture) {
- switch (m_cachedShadowQuality) {
- case QDataVis::ShadowQualityHigh:
- qWarning("Creating high quality shadows failed. Changing to medium quality.");
- (void)m_controller->setShadowQuality(QDataVis::ShadowQualityMedium);
- updateShadowQuality(QDataVis::ShadowQualityMedium);
- break;
- case QDataVis::ShadowQualityMedium:
- qWarning("Creating medium quality shadows failed. Changing to low quality.");
- (void)m_controller->setShadowQuality(QDataVis::ShadowQualityLow);
- updateShadowQuality(QDataVis::ShadowQualityLow);
- break;
- case QDataVis::ShadowQualityLow:
- qWarning("Creating low quality shadows failed. Switching shadows off.");
- (void)m_controller->setShadowQuality(QDataVis::ShadowQualityNone);
- updateShadowQuality(QDataVis::ShadowQualityNone);
- break;
- case QDataVis::ShadowQualitySoftHigh:
- qWarning("Creating soft high quality shadows failed. Changing to soft medium quality.");
- (void)m_controller->setShadowQuality(QDataVis::ShadowQualitySoftMedium);
- updateShadowQuality(QDataVis::ShadowQualitySoftMedium);
- break;
- case QDataVis::ShadowQualitySoftMedium:
- qWarning("Creating soft medium quality shadows failed. Changing to soft low quality.");
- (void)m_controller->setShadowQuality(QDataVis::ShadowQualitySoftLow);
- updateShadowQuality(QDataVis::ShadowQualitySoftLow);
- break;
- case QDataVis::ShadowQualitySoftLow:
- qWarning("Creating soft low quality shadows failed. Switching shadows off.");
- (void)m_controller->setShadowQuality(QDataVis::ShadowQualityNone);
- updateShadowQuality(QDataVis::ShadowQualityNone);
- break;
- default:
- // You'll never get here
- break;
- }
- }
+ if (!m_depthTexture)
+ lowerShadowQuality();
}
}
#endif