summaryrefslogtreecommitdiffstats
path: root/src/datavisualizationqml2/declarativesurfacerenderer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/datavisualizationqml2/declarativesurfacerenderer.cpp')
-rw-r--r--src/datavisualizationqml2/declarativesurfacerenderer.cpp87
1 files changed, 0 insertions, 87 deletions
diff --git a/src/datavisualizationqml2/declarativesurfacerenderer.cpp b/src/datavisualizationqml2/declarativesurfacerenderer.cpp
deleted file mode 100644
index 87a290ce..00000000
--- a/src/datavisualizationqml2/declarativesurfacerenderer.cpp
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc
-** All rights reserved.
-** For any questions to Digia, please use contact form at http://qt.digia.com
-**
-** This file is part of the QtDataVisualization module.
-**
-** Licensees holding valid Qt Enterprise licenses may use this file in
-** accordance with the Qt Enterprise License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.
-**
-** If you have questions regarding the use of this file, please use
-** contact form at http://qt.digia.com
-**
-****************************************************************************/
-
-#include "declarativesurfacerenderer_p.h"
-
-#include <QtQuick/QQuickWindow>
-#include <QtGui/QOpenGLFramebufferObject>
-
-QT_DATAVISUALIZATION_BEGIN_NAMESPACE
-
-DeclarativeSurfaceRenderer::DeclarativeSurfaceRenderer(QQuickWindow *window,
- Surface3DController *renderer)
- : m_fbo(0),
- m_texture(0),
- m_window(window),
- m_surfaceRenderer(renderer)
-{
- connect(m_window, &QQuickWindow::beforeSynchronizing, this,
- &DeclarativeSurfaceRenderer::synchDataToRenderer, Qt::DirectConnection);
- connect(m_window, &QQuickWindow::beforeRendering, this,
- &DeclarativeSurfaceRenderer::renderFBO, Qt::DirectConnection);
- connect(m_surfaceRenderer, &Abstract3DController::needRender, m_window,
- &QQuickWindow::update);
-}
-
-DeclarativeSurfaceRenderer::~DeclarativeSurfaceRenderer()
-{
- delete m_texture;
- delete m_fbo;
-}
-
-void DeclarativeSurfaceRenderer::synchDataToRenderer()
-{
- m_surfaceRenderer->initializeOpenGL();
- m_surfaceRenderer->synchDataToRenderer();
-}
-
-void DeclarativeSurfaceRenderer::renderFBO()
-{
- QSize size = rect().size().toSize();
-
- // Create FBO
- if (!m_fbo) {
- QOpenGLFramebufferObjectFormat format;
- format.setAttachment(QOpenGLFramebufferObject::Depth);
- m_fbo = new QOpenGLFramebufferObject(size, format);
- m_texture = m_window->createTextureFromId(m_fbo->texture(), size);
-
- setTexture(m_texture);
-
- // Flip texture
- // TODO: Can be gotten rid of once support for texture flipping becomes available (in Qt5.2)
- QSize ts = m_texture->textureSize();
- QRectF sourceRect(0, 0, ts.width(), ts.height());
- float tmp = sourceRect.top();
- sourceRect.setTop(sourceRect.bottom());
- sourceRect.setBottom(tmp);
- QSGGeometry *geometry = this->geometry();
- QSGGeometry::updateTexturedRectGeometry(geometry, rect(),
- m_texture->convertToNormalizedSourceRect(sourceRect));
- markDirty(DirtyMaterial);
- }
-
- // Call the shared rendering function
- m_fbo->bind();
-
- m_surfaceRenderer->render(m_fbo->handle());
-
- m_fbo->release();
-}
-
-QT_DATAVISUALIZATION_END_NAMESPACE