Depsgraph: add a new operation node for computing B-Bone segments.
authorAlexander Gavrilov <angavrilov@gmail.com>
Thu, 22 Nov 2018 10:38:03 +0000 (13:38 +0300)
committerAlexander Gavrilov <angavrilov@gmail.com>
Fri, 23 Nov 2018 20:19:23 +0000 (23:19 +0300)
commit1e820898ff4dfc734710a6640ca7bafc0bfc69db
tree8f68fba82219df0295d89581e49e105ff907ba80
parente49c66efae9d9fb85154ca4b3073ae3733400708
Depsgraph: add a new operation node for computing B-Bone segments.

Computing the shape of a B-Bone is a quite expensive operation, and
there are multiple constraints that can access this information in
a variety of useful ways. This means computing the shape once per
bone and saving it is good for performance.

Since the shape may depend on the position of up to two other bones,
often in a "cyclic" manner, this computation has to be a separate
node with its own dependencies.

Reviewers: sergey

Differential Revision: https://developer.blender.org/D3975
14 files changed:
source/blender/blenkernel/BKE_action.h
source/blender/blenkernel/BKE_armature.h
source/blender/blenkernel/intern/action.c
source/blender/blenkernel/intern/armature.c
source/blender/blenkernel/intern/armature_update.c
source/blender/blenkernel/intern/constraint.c
source/blender/blenloader/intern/readfile.c
source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc
source/blender/depsgraph/intern/builder/deg_builder_relations.cc
source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc
source/blender/depsgraph/intern/depsgraph_type_defines.cc
source/blender/depsgraph/intern/depsgraph_types.h
source/blender/draw/intern/draw_armature.c
source/blender/makesdna/DNA_action_types.h