Blender Git Commits

Blender Git "depsgraph_refactor" branch commits.

Page: 9 / 59

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?
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021