January 24, 2015, 12:32 (GMT) |
Depsgraph: Disable 2 leftover debug prints, which were slowing down graph rebuid times |
January 23, 2015, 23:48 (GMT) |
Depsgraph: Ensure Scene ID block has a corresponding ID block |
January 23, 2015, 23:39 (GMT) |
Depsgraph: Inserting keyframes for the first time now rebuilds the depsgraph Since animation playback now works only if there's a link to the time source node, it is necessary to rebuild the depsgraph when animation gets added to a datablock for the first time (i.e. when keyframing on a previously unkeyed datablock) to ensure that such a link gets added. It is not however needed to keep adding this on subsequent keyframing attempts. |
January 23, 2015, 15:11 (GMT) |
Depsgraph: Remove the block of unneeded code |
January 23, 2015, 15:11 (GMT) |
Depsgraph: Fix for bones parented to bones in IK chains Looks like indeed the common-root lookups are needed here. Restoring inline (instead of requiring a separate loop). |
January 23, 2015, 14:58 (GMT) |
Depsgraph: Knock out debug prints now that they're no longer needed |
January 23, 2015, 14:57 (GMT) |
Depsgraph: Switched RootPChanMap to using good old GHash and GSet Now the problems with having an one bone referring to the results of another bone in the same IK chain causing lockups should be solved. At least for the test file I've been using, it is now solved at last. |
January 23, 2015, 14:56 (GMT) |
Depsgraph: WIP attempt to fix ik-same-chain-constrained lockup issues The idea is that when determining which opnode from the constraint target should get used, we use READY when they are part of the same IK chain and DONE otherwise. This lets us get the best of both worlds for these two situations. Currently this isn't working in this commit yet, as the root_map (being C++ std stuff) ends up trying to compare the identifiers by pointer instead of content, thus breaking whenever we actually try to use this. All the additional debug prints added were just for figuring out this point. |
January 23, 2015, 14:54 (GMT) |
Depsgraph: Removed last of bone_transforms_key() references We may have to reinstate an equivalent of this (for wrapping the rootmap checks) later, but the old one is now redundant with the BONE_READY node |
January 23, 2015, 14:54 (GMT) |
WIP - Noting insights |
January 23, 2015, 13:29 (GMT) |
Depsgraph: imat is needed by the solvers and need to be initialized That used to be initialized in legacy bone_where_is and was lost at some point. |
January 23, 2015, 13:26 (GMT) |
Depsgraph: don't get time if not needed |
January 23, 2015, 12:55 (GMT) |
Depsgraph: Need relation between IK solver and object transform IK solver ode needs to know object transform matrix so added relation for that. Currently the relation is between object transform and pose components, so all pose eval evaluation init happens nicely. In the future we might want to redirect this relation to solver operation itself. |
January 23, 2015, 12:00 (GMT) |
Merge branch 'master' into depsgraph_refactor |
January 23, 2015, 08:31 (GMT) |
Merge branch 'master' into depsgraph_refactor |
January 22, 2015, 13:18 (GMT) |
Depsgraph: Fix uninitialized bone matrix used for parents Issue was caused by bone matrix calculated in pose flush, which made it so BONE_DONE does not guaranteed matricies to be correct. |
January 22, 2015, 12:07 (GMT) |
Depsgraph: Remove abort which was initially only meant for debugging We can't add abort in relation add yet, basically because it's possible modifier will try to create relation to non-existing bone after modifying the armature. And that abort was just a temporary debug thing. |
January 22, 2015, 12:05 (GMT) |
Merge branch 'master' into depsgraph_refactor |
January 22, 2015, 11:32 (GMT) |
Merge branch 'master' into depsgraph_refactor Conflicts: source/blender/blenkernel/BKE_particle.h source/blender/blenkernel/intern/armature.c source/blenderplayer/CMakeLists.txt |
January 21, 2015, 11:59 (GMT) |
Depsgraph: WIP - Experimental fixes for regressions introduced So, it seems that using BONE_READY for constraint targets was breaking production rigs (notably the foot/leg setups), while using BONE_DONE will break the constrained-to-bone-in-same-ikchain setup... Just noting this here in case this comes in handy at some point. Perhaps we need to try something fancier using the rootmaps here? |
|