summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2015-08-06 16:23:55 +0200
committerPaul Lemire <paul.lemire@kdab.com>2015-08-07 19:42:42 +0000
commitff586343815af05d9afe456053773b66d5aa70bb (patch)
tree7676f1bb1a3ef2906373044d1f717aa9c1fcc5a4 /src
parentac359858c6dc71cd1f09fb4fb6ff11c945190cb5 (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.cpp13
-rw-r--r--src/render/backend/geometryrenderermanager_p.h7
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