diff options
author | Kevin Ottens <kevin.ottens@kdab.com> | 2015-12-15 14:27:30 +0100 |
---|---|---|
committer | Kevin Ottens <kevin.ottens@kdab.com> | 2015-12-18 15:55:34 +0000 |
commit | a86a10924c97d0966cdbdf9e4db2fc94ed5f2d9a (patch) | |
tree | dc8fbbf63dc3188ffc6e06e3a1df3271e4370308 /src/render | |
parent | b9905ee50f93942f71c2203ecbe73a82b11841c2 (diff) |
Move the time property to the renderer
Change-Id: I60adff0ece408bb4ee21b9cbd329e21da2c1f95c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render')
-rw-r--r-- | src/render/backend/abstractrenderer_p.h | 3 | ||||
-rw-r--r-- | src/render/backend/renderer.cpp | 11 | ||||
-rw-r--r-- | src/render/backend/renderer_p.h | 5 | ||||
-rw-r--r-- | src/render/backend/renderview.cpp | 2 | ||||
-rw-r--r-- | src/render/frontend/qrenderaspect.cpp | 9 | ||||
-rw-r--r-- | src/render/frontend/qrenderaspect.h | 2 | ||||
-rw-r--r-- | src/render/frontend/qrenderaspect_p.h | 1 |
7 files changed, 21 insertions, 12 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); } diff --git a/src/render/frontend/qrenderaspect.cpp b/src/render/frontend/qrenderaspect.cpp index 34a5aa7c3..211eff1ec 100644 --- a/src/render/frontend/qrenderaspect.cpp +++ b/src/render/frontend/qrenderaspect.cpp @@ -150,7 +150,6 @@ QRenderAspectPrivate::QRenderAspectPrivate(QRenderAspect::RenderType type) , m_renderer(Q_NULLPTR) , m_surfaceEventFilter(new Render::PlatformSurfaceFilter()) , m_surface(Q_NULLPTR) - , m_time(0) , m_initialized(false) , m_framePreparationJob(new Render::FramePreparationJob(m_nodeManagers)) , m_cleanupJob(new Render::FrameCleanupJob(m_nodeManagers)) @@ -307,7 +306,7 @@ void QRenderAspect::renderShutdown() QVector<Qt3DCore::QAspectJobPtr> QRenderAspect::jobsToExecute(qint64 time) { Q_D(QRenderAspect); - d->m_time = time; + d->m_renderer->setTime(time); // Create jobs that will get exectued by the threadpool QVector<QAspectJobPtr> jobs; @@ -395,12 +394,6 @@ QVector<Qt3DCore::QAspectJobPtr> QRenderAspect::jobsToExecute(qint64 time) return jobs; } -qint64 QRenderAspect::time() const -{ - Q_D(const QRenderAspect); - return d->m_time; -} - void QRenderAspect::onRootEntityChanged(Qt3DCore::QEntity *rootEntity) { Q_D(QRenderAspect); diff --git a/src/render/frontend/qrenderaspect.h b/src/render/frontend/qrenderaspect.h index 99e44562e..d7398dab7 100644 --- a/src/render/frontend/qrenderaspect.h +++ b/src/render/frontend/qrenderaspect.h @@ -70,8 +70,6 @@ public: QVector<Qt3DCore::QAspectJobPtr> jobsToExecute(qint64 time) Q_DECL_OVERRIDE; - qint64 time() const; - protected: void registerBackendTypes(); QRenderAspect(QRenderAspectPrivate &dd, QObject *parent); diff --git a/src/render/frontend/qrenderaspect_p.h b/src/render/frontend/qrenderaspect_p.h index b8f103cf0..4690e98ac 100644 --- a/src/render/frontend/qrenderaspect_p.h +++ b/src/render/frontend/qrenderaspect_p.h @@ -87,7 +87,6 @@ public: // via QScopedPointerDeleteLater QScopedPointer<Render::PlatformSurfaceFilter, QScopedPointerDeleteLater> m_surfaceEventFilter; QSurface *m_surface; - qint64 m_time; bool m_initialized; Render::FramePreparationJobPtr m_framePreparationJob; |