summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomi Korpipää <tomi.korpipaa@digia.com>2014-09-15 12:45:03 +0300
committerTomi Korpipää <tomi.korpipaa@digia.com>2014-09-15 12:49:58 +0300
commit9cc5a9f312dfb982044f5756bb5b857657378b02 (patch)
tree29c1660af1089ffdb2e636ffcdf10ae6e63489cb
parent637fd9964133c4e60d9ffad32cf5307836397aad (diff)
Fixed renderToImage for ES2
Task-number: QTRD-3305 Change-Id: I656cc878e6e83fe09d627b418f9cf624672a18b3 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
-rw-r--r--src/datavisualization/engine/qabstract3dgraph.cpp6
-rw-r--r--src/datavisualization/utils/qutils.h6
2 files changed, 12 insertions, 0 deletions
diff --git a/src/datavisualization/engine/qabstract3dgraph.cpp b/src/datavisualization/engine/qabstract3dgraph.cpp
index 03eeedf6..a1cd7c56 100644
--- a/src/datavisualization/engine/qabstract3dgraph.cpp
+++ b/src/datavisualization/engine/qabstract3dgraph.cpp
@@ -545,6 +545,8 @@ QAbstract3DGraph::ElementType QAbstract3DGraph::selectedElement() const
* \since QtDataVisualization 1.1
*
* \return rendered image.
+ *
+ * \note OpenGL ES2 does not support anitialiasing, so \a msaaSamples is always forced to \c{0}.
*/
QImage QAbstract3DGraph::renderToImage(int msaaSamples, const QSize &imageSize)
{
@@ -975,8 +977,12 @@ QImage QAbstract3DGraphPrivate::renderToImage(int msaaSamples, const QSize &imag
// Render the wanted frame offscreen
m_context->makeCurrent(m_offscreenSurface);
fboFormat.setAttachment(QOpenGLFramebufferObject::CombinedDepthStencil);
+#ifdef QT_OPENGL_ES_2
+ Q_UNUSED(msaaSamples);
+#else
fboFormat.setInternalTextureFormat(GL_RGB);
fboFormat.setSamples(msaaSamples);
+#endif
fbo = new QOpenGLFramebufferObject(imageSize, fboFormat);
if (fbo->isValid()) {
QRect originalViewport = m_visualController->m_scene->viewport();
diff --git a/src/datavisualization/utils/qutils.h b/src/datavisualization/utils/qutils.h
index b4ac17b4..92bd632c 100644
--- a/src/datavisualization/utils/qutils.h
+++ b/src/datavisualization/utils/qutils.h
@@ -36,10 +36,16 @@ inline static QSurfaceFormat qDefaultSurfaceFormat(bool antialias = true)
// Antialias not supported for ES
antialias = false;
surfaceFormat.setRenderableType(QSurfaceFormat::OpenGLES);
+ surfaceFormat.setAlphaBufferSize(8);
+ surfaceFormat.setRedBufferSize(8);
+ surfaceFormat.setBlueBufferSize(8);
+ surfaceFormat.setGreenBufferSize(8);
#endif
if (antialias)
surfaceFormat.setSamples(8);
+ else
+ surfaceFormat.setSamples(0);
return surfaceFormat;
}