diff options
author | Alexander Gavrilov <angavrilov@gmail.com> | 2019-04-18 23:17:04 +0300 |
---|---|---|
committer | Alexander Gavrilov <angavrilov@gmail.com> | 2019-04-18 23:19:44 +0300 |
commit | 638938e5a8c30c405c3b4e96ab4f78095003958b (patch) | |
tree | f6a3e274c4a555ee48a5e284a8e150ef57307f87 /source/blender/makesdna/DNA_action_types.h | |
parent | e8c9e85401ef6162656cf3b10c5aec509ae8a850 (diff) |
Armature: remove remains of the object-level deformation data cache.
Now that B-Bone shape data is kept in bPoseChannel_Runtime, the
armature level cache only holds one quaternion value per bone.
It can also be moved to runtime, and the structure removed.
This has an additional effect that, as far as I can tell, now
the Armature modifier can run as soon as all of the bones it
actually needs are done, thus making T59848 a purely depsgraph
level problem.
Diffstat (limited to 'source/blender/makesdna/DNA_action_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_action_types.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/makesdna/DNA_action_types.h b/source/blender/makesdna/DNA_action_types.h index fd3409b266c..01f1dc42c44 100644 --- a/source/blender/makesdna/DNA_action_types.h +++ b/source/blender/makesdna/DNA_action_types.h @@ -31,6 +31,7 @@ #include "DNA_listBase.h" #include "DNA_ID.h" #include "DNA_view2d_types.h" +#include "DNA_vec_types.h" #include "DNA_userdef_types.h" /* ThemeWireColor */ struct Collection; @@ -183,8 +184,11 @@ struct DualQuat; struct Mat4; typedef struct bPoseChannel_Runtime { + /* Cached dual quaternion for deformation. */ + struct DualQuat deform_dual_quat; + + /* B-Bone shape data: copy of the segment count for validation. */ int bbone_segments; - char _pad[4]; /* Rest and posed matrices for segments. */ struct Mat4 *bbone_rest_mats; |