summaryrefslogtreecommitdiffstats
path: root/src/render/jobs/updateskinningpalettejob_p.h
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2017-08-11 11:08:41 +0100
committerSean Harmer <sean.harmer@kdab.com>2017-08-16 13:19:38 +0000
commita8889da8398c22e5a7f8a0a4ac6bc3c4455ce7b4 (patch)
tree859793594374cbb7a9face81e5c4b75c68f33a24 /src/render/jobs/updateskinningpalettejob_p.h
parent2302a59c0f8eab97310ff25a7bff545fd56162c4 (diff)
Update local poses of JointInfos from dirty Joints
These will then get picked up when calculating the skinning matrix palettes for the armatures. In the future, this job is a good candidate for being decomposed into multiple jobs for data parallelism e.g. one job per skeleton. Change-Id: Ie1e7ddb3baec80f639bf8824482f730967a43afe Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/render/jobs/updateskinningpalettejob_p.h')
-rw-r--r--src/render/jobs/updateskinningpalettejob_p.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/render/jobs/updateskinningpalettejob_p.h b/src/render/jobs/updateskinningpalettejob_p.h
index 3c5a4648d..9e230f143 100644
--- a/src/render/jobs/updateskinningpalettejob_p.h
+++ b/src/render/jobs/updateskinningpalettejob_p.h
@@ -70,11 +70,15 @@ public:
void setRoot(Entity *root) { m_root = root; }
void setManagers(NodeManagers *nodeManagers) { m_nodeManagers = nodeManagers; }
+ void setDirtyJoints(const QVector<HJoint> dirtyJoints) { m_dirtyJoints = dirtyJoints; }
+ void clearDirtyJoints() { m_dirtyJoints.clear(); }
+
protected:
void run() override;
void findDirtyArmatures(Entity *entity, QVector<HArmature> &armatures) const;
NodeManagers *m_nodeManagers;
Entity *m_root;
+ QVector<HJoint> m_dirtyJoints;
};
typedef QSharedPointer<UpdateSkinningPaletteJob> UpdateSkinningPaletteJobPtr;