diff options
author | Sean Harmer <sean.harmer@kdab.com> | 2014-12-13 14:47:32 +0000 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2014-12-15 14:42:08 +0100 |
commit | 9b104a8ebf64c24ecca00f797f0f3f5d85295309 (patch) | |
tree | a536f94f1ec1ff0f33abe8b74bc0a6398f344eab /src/render/backend/qrenderaspect.cpp | |
parent | d1f3fe956c1f68ea61831221c64d1f3eb679bc1a (diff) |
Pass the current time to the aspects
Also make the current time available as a standard uniform in the
render aspect.
Change-Id: I163187c432cf32bf57d0c4bf4ee6b8e5d8aac42c
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/render/backend/qrenderaspect.cpp')
-rw-r--r-- | src/render/backend/qrenderaspect.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/render/backend/qrenderaspect.cpp b/src/render/backend/qrenderaspect.cpp index 7de47e533..646864355 100644 --- a/src/render/backend/qrenderaspect.cpp +++ b/src/render/backend/qrenderaspect.cpp @@ -110,6 +110,7 @@ QRenderAspectPrivate::QRenderAspectPrivate(QRenderAspect *qq) , m_renderer(new Render::Renderer) , m_surfaceEventFilter(new Render::PlatformSurfaceFilter(m_renderer)) , m_surface(Q_NULLPTR) + , m_time(0) , m_initialized(false) { m_aspectType = QAbstractAspect::AspectRenderer; @@ -196,13 +197,15 @@ void QRenderAspect::registerBackendTypes() registerBackendType<QShaderData>(QBackendNodeFunctorPtr(new Render::RenderNodeFunctor<Render::RenderShaderData, Render::ShaderDataManager>(d->m_renderer->shaderDataManager()))); } -QVector<QAspectJobPtr> QRenderAspect::jobsToExecute() +QVector<QAspectJobPtr> QRenderAspect::jobsToExecute(qint64 time) { + Q_D(QRenderAspect); + d->m_time = time; + // Create jobs that will get exectued by the threadpool QVector<QAspectJobPtr> jobs; // Create jobs to load in any meshes that are pending - Q_D(QRenderAspect); if (d->m_renderer != Q_NULLPTR) { QHash<QNodeId, QAbstractMeshFunctorPtr> meshSources = d->m_renderer->meshDataManager()->meshesPending(); Q_FOREACH (const QNodeId &meshId, meshSources.keys()) { @@ -261,6 +264,12 @@ void QRenderAspect::sceneNodeRemoved(QSceneChangePtr &e) QAbstractAspect::clearBackendNode(n); } +qint64 QRenderAspect::time() const +{ + Q_D(const QRenderAspect); + return d->m_time; +} + void QRenderAspect::setRootEntity(QEntity *rootObject) { // setSceneGraphRoot is synchronized using the Renderer's mutex |