January 21, 2015, 11:03 (GMT) |
Depsgraph: WIP attempt to resolve some problems with IK chains This commit tried to fix the problems which occur when a bone that's part of an IK chain has a constraint to another bone in the same chain. Since all constraints are (or should still) handled before the IK solver runs, that ended up causing a deadlock, since the offending bone would rely on the "final" (done_node) transform of another bone in the same IK chain, which could only run after the IK solver runs - but that cannot run as it's waiting on this constrained bone. * Added a dedicated "BONE_READY" noop, which sits after the constraints op, before the done node, and before any link to an IK solver. This replaces all the calls to bone_final_transform() by having a dedicated node which can be queried for this purpose * Simplified the way that bone relationships get set up: The idea is that all bones in the same armature will use the "READY" nodes instead of "DONE" to avoid any lockups when dealing with IK. This way, we can do without all the common-root checks before doing parent links and so forth, as well as just setting out all the major relationships at the same time. (There is of course the risk that this breaks some old rigs (* see note below)) The result of all these efforts is that all the simple test cases and also the test file with the offending setup which inspired this fix all work now. However, it also seems to now be causing a range of weird regressions with production rigs (notably, strange new unstable popping in Koro and Victor Layout, as well as lag issues on some simpler IK leg rigs). |
January 20, 2015, 11:23 (GMT) |
Depsgraph: Use straight-lines for graphviz debug Trying straight/orthogonal lines for relationships in graphviz debug graphs instead of the curved defaults. The curvy lines were clumping together in confusing ways, making it hard to tell what's going on. Still, this isn't much better, but can at least see what's going on in the file I'm debugging. |
January 20, 2015, 03:32 (GMT) |
Depsgraph: Report opcodes using their string identifiers instead of numbers |
January 16, 2015, 10:03 (GMT) |
Depsgraph: Code cleanup - Remove unneeded define |
January 16, 2015, 07:04 (GMT) |
Depsgraph: Noted 2 places where driver evaluation should not be taking place We can't remove these outright yet, since these callbacks are still shared between old depsgraph and new ubereval nodes. |
January 16, 2015, 07:03 (GMT) |
Depsgraph: Knock out BKE_animsys_evaluate_all_animation() for new depsgraph To debug what animdata is not yet included, we need to disable this. Eventually, it should go, but we may need to put it back temporarily if we don't get everything hooked up before setting more users loose on the codebase. |
January 16, 2015, 06:37 (GMT) |
Depsgraph: GPencil animdata is now included in the depsgraph |
January 16, 2015, 02:59 (GMT) |
Depsgraph: Clean up errors when building rigidbody graphs * Constraints may not always be present * There were missing links to "done" node |
January 16, 2015, 02:06 (GMT) |
Depsgraph: Intial attempt at finishing off hooking up rigidbody sim code to the new depsgraph |
January 16, 2015, 01:59 (GMT) |
Depsgraph: Added in missing calls to handle relations for subdata hanging off scene |
January 15, 2015, 14:23 (GMT) |
Depsgraph: Make ID nodes fully fisible by default |
January 15, 2015, 14:19 (GMT) |
Depsgraph: Fix missing editors ID update callback invoke This way tweaking node trees reflects on shading update in GLSL viewport. |
January 15, 2015, 14:16 (GMT) |
Depsgraph: Add shading component and empty operation in Material node This way we can easily define relations between material and other entities, plus this allows to have generic recalc flush mechanism working just fine. |
January 15, 2015, 13:19 (GMT) |
Depsgraph: Create ID nodes for material, so this way tag update doesn't go berserk Without this DEG_graph_id_tag_update would consider delayed ID update is needed after the graph is rebuilt, which is just wrong. There are no relations fr now, need of them is still being investigated. |
January 15, 2015, 12:43 (GMT) |
Depsgraph: Fix missing rendered viewport update Was only happening when blender is built with legacy depsgraph support. |
January 15, 2015, 11:08 (GMT) |
Merge branch 'master' into depsgraph_refactor |
January 14, 2015, 14:35 (GMT) |
Depsgraph: Fill in callbacks for mesh/curve geometry update For now they'll only calculate bounding box there. in the future it might be extended further. |
January 14, 2015, 14:26 (GMT) |
Depsgraph: Headers cleanup |
January 14, 2015, 14:22 (GMT) |
Depsgtraph: Move some more update callbacks to their final(ish) destination Still having animation callbacks as a bad level implementation, but those are a bit tricky since they somehow need to be able to access time source node. |
January 14, 2015, 13:58 (GMT) |
Depsgraph: Header cleanup |
|