summaryrefslogtreecommitdiffstats
path: root/src/datavis3dqml2/declarativescatterrenderer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/datavis3dqml2/declarativescatterrenderer.cpp')
-rw-r--r--src/datavis3dqml2/declarativescatterrenderer.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/datavis3dqml2/declarativescatterrenderer.cpp b/src/datavis3dqml2/declarativescatterrenderer.cpp
index 220386ae..23c59c26 100644
--- a/src/datavis3dqml2/declarativescatterrenderer.cpp
+++ b/src/datavis3dqml2/declarativescatterrenderer.cpp
@@ -30,7 +30,8 @@ DeclarativeScatterRenderer::DeclarativeScatterRenderer(QQuickWindow *window,
m_window(window),
m_scatterRenderer(renderer)
{
- connect(m_window, SIGNAL(beforeRendering()), this, SLOT(render()), Qt::DirectConnection);
+ connect(m_window, SIGNAL(beforeSynchronizing()), this, SLOT(synchDataToRenderer()), Qt::DirectConnection);
+ connect(m_window, SIGNAL(beforeRendering()), this, SLOT(renderFBO()), Qt::DirectConnection);
}
DeclarativeScatterRenderer::~DeclarativeScatterRenderer()
@@ -39,7 +40,13 @@ DeclarativeScatterRenderer::~DeclarativeScatterRenderer()
delete m_fbo;
}
-void DeclarativeScatterRenderer::render()
+void DeclarativeScatterRenderer::synchDataToRenderer()
+{
+ m_scatterRenderer->initializeOpenGL();
+ m_scatterRenderer->synchDataToRenderer();
+}
+
+void DeclarativeScatterRenderer::renderFBO()
{
QSize size = rect().size().toSize();