diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2015-08-06 16:23:55 +0200 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2015-08-07 19:42:42 +0000 |
commit | ff586343815af05d9afe456053773b66d5aa70bb (patch) | |
tree | 7676f1bb1a3ef2906373044d1f717aa9c1fcc5a4 /src | |
parent | ac359858c6dc71cd1f09fb4fb6ff11c945190cb5 (diff) |
GeometryRendererManager: add a vector of dirty geometry renderer ids
Whenever the functor on a geometry renderer changes, they will be added in
that vector for a later processing by jobs
Change-Id: I0a9c55bdab03993040120ea3853487afdc3898f6
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/render/backend/geometryrenderermanager.cpp | 13 | ||||
-rw-r--r-- | src/render/backend/geometryrenderermanager_p.h | 7 |
2 files changed, 20 insertions, 0 deletions
diff --git a/src/render/backend/geometryrenderermanager.cpp b/src/render/backend/geometryrenderermanager.cpp index ffefe7141..9baaecb26 100644 --- a/src/render/backend/geometryrenderermanager.cpp +++ b/src/render/backend/geometryrenderermanager.cpp @@ -51,6 +51,19 @@ GeometryRendererManager::~GeometryRendererManager() { } +void GeometryRendererManager::addDirtyGeometryRenderer(const QNodeId &bufferId) +{ + if (!m_dirtyGeometryRenderers.contains(bufferId)) + m_dirtyGeometryRenderers.push_back(bufferId); +} + +QVector<QNodeId> GeometryRendererManager::dirtyGeometryRenderers() +{ + QVector<QNodeId> vector(m_dirtyGeometryRenderers); + m_dirtyGeometryRenderers.clear(); + return vector; +} + } // Render } // Qt3D diff --git a/src/render/backend/geometryrenderermanager_p.h b/src/render/backend/geometryrenderermanager_p.h index cbeb5c6c4..0fa26d5d7 100644 --- a/src/render/backend/geometryrenderermanager_p.h +++ b/src/render/backend/geometryrenderermanager_p.h @@ -56,6 +56,13 @@ class GeometryRendererManager : public QResourceManager< public: GeometryRendererManager(); ~GeometryRendererManager(); + + // Aspect Thread + void addDirtyGeometryRenderer(const QNodeId &bufferId); + QVector<QNodeId> dirtyGeometryRenderers(); + +private: + QVector<QNodeId> m_dirtyGeometryRenderers; }; } // Render |