summaryrefslogtreecommitdiffstats
path: root/src/render/backend
diff options
context:
space:
mode:
authorKevin Ottens <kevin.ottens@kdab.com>2015-12-15 14:27:30 +0100
committerKevin Ottens <kevin.ottens@kdab.com>2015-12-18 15:55:34 +0000
commita86a10924c97d0966cdbdf9e4db2fc94ed5f2d9a (patch)
treedc8fbbf63dc3188ffc6e06e3a1df3271e4370308 /src/render/backend
parentb9905ee50f93942f71c2203ecbe73a82b11841c2 (diff)
Move the time property to the renderer
Change-Id: I60adff0ece408bb4ee21b9cbd329e21da2c1f95c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/backend')
-rw-r--r--src/render/backend/abstractrenderer_p.h3
-rw-r--r--src/render/backend/renderer.cpp11
-rw-r--r--src/render/backend/renderer_p.h5
-rw-r--r--src/render/backend/renderview.cpp2
4 files changed, 20 insertions, 1 deletions
diff --git a/src/render/backend/abstractrenderer_p.h b/src/render/backend/abstractrenderer_p.h
index 11e5b0a37..d9126a4ed 100644
--- a/src/render/backend/abstractrenderer_p.h
+++ b/src/render/backend/abstractrenderer_p.h
@@ -83,6 +83,9 @@ public:
virtual API api() const = 0;
+ virtual qint64 time() const = 0;
+ virtual void setTime(qint64 time) = 0;
+
virtual void setSurface(QSurface *surface) = 0;
virtual void setNodeManagers(NodeManagers *managers) = 0;
virtual void setQRenderAspect(Qt3DRender::QRenderAspect *renderAspect) = 0;
diff --git a/src/render/backend/renderer.cpp b/src/render/backend/renderer.cpp
index 999570511..a79ebdbad 100644
--- a/src/render/backend/renderer.cpp
+++ b/src/render/backend/renderer.cpp
@@ -144,6 +144,7 @@ Renderer::Renderer(QRenderAspect::RenderType type)
, m_exposed(0)
, m_glContext(Q_NULLPTR)
, m_pickBoundingVolumeJob(Q_NULLPTR)
+ , m_time(0)
{
// Set renderer as running - it will wait in the context of the
// RenderThread for RenderViews to be submitted
@@ -156,6 +157,16 @@ Renderer::~Renderer()
{
}
+qint64 Renderer::time() const
+{
+ return m_time;
+}
+
+void Renderer::setTime(qint64 time)
+{
+ m_time = time;
+}
+
NodeManagers *Renderer::nodeManagers() const
{
return m_nodesManager;
diff --git a/src/render/backend/renderer_p.h b/src/render/backend/renderer_p.h
index 105d45436..800efcf34 100644
--- a/src/render/backend/renderer_p.h
+++ b/src/render/backend/renderer_p.h
@@ -123,6 +123,9 @@ public:
API api() const Q_DECL_OVERRIDE { return AbstractRenderer::OpenGL; }
+ qint64 time() const Q_DECL_OVERRIDE;
+ void setTime(qint64 time) Q_DECL_OVERRIDE;
+
void setSurface(QSurface *s) Q_DECL_OVERRIDE;
void setNodeManagers(NodeManagers *managers) Q_DECL_OVERRIDE { m_nodesManager = managers; }
void setQRenderAspect(QRenderAspect *aspect) Q_DECL_OVERRIDE { m_rendererAspect = aspect; }
@@ -249,6 +252,8 @@ private:
QAtomicInt m_exposed;
QOpenGLContext *m_glContext;
PickBoundingVolumeJobPtr m_pickBoundingVolumeJob;
+
+ qint64 m_time;
};
} // namespace Render
diff --git a/src/render/backend/renderview.cpp b/src/render/backend/renderview.cpp
index 12e18633a..e630e7a8b 100644
--- a/src/render/backend/renderview.cpp
+++ b/src/render/backend/renderview.cpp
@@ -254,7 +254,7 @@ QUniformValue *RenderView::inverseViewportMatrix(const QMatrix4x4 &model) const
QUniformValue *RenderView::time(const QMatrix4x4 &model) const
{
Q_UNUSED(model);
- qint64 time = m_renderer->renderAspect()->time();
+ qint64 time = m_renderer->time();
float t = time / 1000000000.0f;
return QUniformValue::fromVariant(QVariant(t), m_allocator);
}