diff options
author | Sean Harmer <sean.harmer@kdab.com> | 2017-08-11 11:08:41 +0100 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2017-08-16 13:19:38 +0000 |
commit | a8889da8398c22e5a7f8a0a4ac6bc3c4455ce7b4 (patch) | |
tree | 859793594374cbb7a9face81e5c4b75c68f33a24 /src/render/jobs/updateskinningpalettejob_p.h | |
parent | 2302a59c0f8eab97310ff25a7bff545fd56162c4 (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.h | 4 |
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; |