Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-12-18Fix T59569: crashes when generate rig.Alexander Gavrilov
The fix in 9fa408f51b missed one place that needed the check, causing the assert because of incomplete data.
2018-12-10Fix T58928: New Action causes crash when duplicating boneSergey Sharybin
Basically, armature update is not supposed to be run in edit mode. This worked in master and new dependency graph because nobody was tagging armature for an update. But with all those copy-on-write and other things we can't ensure tag doesn't happen (and we shouldn't). So now we ensure unwanted code is not run from the code itself. P.S. Deeper reason of this goes to the optimization of not updating pose channels when in edit mode. Since pose doesn't define anything there we don't want to be bothered with a pose update after every operation which changes it.
2018-12-10Cleanup: Variable namingSergey Sharybin
2018-12-02Merge branch 'master' into blender2.8Campbell Barton
2018-11-27RNA: expose access to B-Bone shape data from Python.Alexander Gavrilov
B-Bone shape is a non-trivial computation, so access to the results would be useful for Python scripts working with B-Bones, e.g. rig generation. This exposes both final segment matrices, and the tangent vectors computed from the custom handle bones. Since the handle tangents use the axis+roll orientation math of edit bones, add matrix conversion static methods to Bone. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D3983
2018-11-23Depsgraph: add a new operation node for computing B-Bone segments.Alexander Gavrilov
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
2018-11-22Cleanup: Use proper module prefix in function namesSergey Sharybin
2018-11-21Depsgraph: Move boundbox sync to the post-geometry evaluationSergey Sharybin
Boundbox does not depend on transform and only need geometry component. This change solves possible race condition accessing geometry data and allocating/assigning pointers. Based on disacussion in IRC with @mano-wii and @brecht.
2018-11-20Speedup rigs with multiple objects deformed by bbonesSergey Sharybin
Previously each of the objects which has armature modifier will request deformation matricies from bbones. Thing is, all those deformations are the same and do not depend on object which is being modified. What's even worse is that this calculation is not cheap. This change makes it so bbones deformation is calculated once and stored in the armature object. After this armature modifiers simply use it. With a rigs we've got here dependency graph evaluation time goes down from 0.02 sec to 0.012 sec. Possible further optimization is to make bbone deformation calculated at the time when bone is calculated. This will avoid an extra threaded loop over all bones.
2018-11-14Fix assertion failure evaluating depsgraph on an empty armature.Alexander Gavrilov
If there are no bones, chan_array may not be allocated.
2018-11-14Merge branch 'master' into blender2.8Campbell Barton
2018-11-14Cleanup: comment block tabsCampbell Barton
2018-11-07Depsgraph: Ensure dependency cycle does not clear runtime memorySergey Sharybin
If there was a dependency cycle involved, it was possible that pchan array will be freed before all bones are evaluated. Now clear is done in a dedicated node, which is never a part of dependency cycle.
2018-10-03Fix T56975: Transform incorrect w/ constraintCampbell Barton
2018-08-29Cleanup: add file doxy commentsCampbell Barton
2018-07-31Fix T56170: Fake dependency cycle in new depsgraph + interleaved armature ↵Sergey Sharybin
update + proxy Make proxy copy result more atomic operation.
2018-07-31Depsgraph: Fix crash on undo of new bone addedSergey Sharybin
Pose is not brought up to date for until exit of edit mode, so can not use.
2018-07-30Cleanup/Refactor: Move CurveCache runtime data into Object.runtime struct.Bastien Montagne
Also, fix missing cleanup of Object.runtime when copying Object datablocks!
2018-06-17Merge branch 'master' into blender2.8Campbell Barton
2018-06-17Cleanup: trailing space for blenkernelCampbell Barton
2018-06-11Fix pchan head/tail original values not being setCampbell Barton
2018-05-31Depsgraph: Copy evaluated data to original datablockSergey Sharybin
Only do it for active dependency graph. Currently covers animation, drivers, object and pose channel matricies.
2018-05-02Depsgraph: Allow per-depsgraph debug flagsSergey Sharybin
Currently only affects EVALUATION debug messages, rest are to be supported on per-depsgraph level.
2018-04-16Depsgraph: remove EvaluationContext, pass Depsgraph instead.Brecht Van Lommel
The depsgraph was always created within a fixed evaluation context. Passing both risks the depsgraph and evaluation context not matching, and it complicates the Python API where we'd have to expose both which is not so easy to understand. This also removes the global evaluation context in main, which assumed there to be a single active scene and view layer. Differential Revision: https://developer.blender.org/D3152
2018-04-08Merge branch 'master' into blender2.8Sybren A. Stüvel
2018-04-06Cleanup: style, doxy headersCampbell Barton
2018-04-04Merge branch 'master' into blender2.8Sergey Sharybin
2018-04-04Depsgraph: Assert that pchan index is always validSergey Sharybin
2018-04-04Merge branch 'master' into blender2.8Sergey Sharybin
2018-04-04Depsgraph: Only bind ID-data and indices to depsgraph callbacksSergey Sharybin
This is a part of copy-on-write sanitization, to avoid all the checks which were attempting to keep sub-data pointers intact. Point is: ID pointers never change for CoW datablocks, but nested data pointers might change when updating existing copy. Solution: Only bind ID data pointers and index of sub-data. This will make CoW datablock 7update function was easier in 2.8. In master we were only using pose channel pointers in callbacks, this is exactly what this commit addresses. A linear lookup array is created on pose evaluation init and is thrown away afterwards. One thing we might consider doing is to keep indexed array of poses, similar to chanhash. Reviewers: campbellbarton Reviewed By: campbellbarton Subscribers: dfelinto Differential Revision: https://developer.blender.org/D3124
2018-04-01Merge branch 'master' into blender2.8Campbell Barton
- Undo that changes modes currently asserts, since undo is now screen data. Most likely we will change how object mode and workspaces work since it's not practical/maintainable at the moment. - Removed view_layer from particle settings (wasn't needed and complicated undo).
2018-04-01Cleanup: remove global headerCampbell Barton
2018-03-16Merge branch 'master' into blender2.8Sergey Sharybin
2018-03-16Depsgraph: Move evaluation debug prints to depsgraphSergey Sharybin
This way we can easily control format and keep it consistent. And also possibly do other trickery, like coloring addresses!
2018-02-21Merge branch 'master' into blender2.8Sergey Sharybin
2018-02-21Depsgraph: Split debug flagsSergey Sharybin
Now it's possible to have debug messages for following things: - Graph construction - Graph evaluation - Graph tagging
2018-02-02Merge branch 'master' into blender2.8Sergey Sharybin
2018-02-02Fix T53980: IK influencing REST POSE with New DepsgraphSergey Sharybin
2017-12-01Depsgraph: Remove clear of legacy unused flagSergey Sharybin
2017-11-06Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: intern/cycles/device/device.cpp source/blender/blenkernel/intern/library.c source/blender/blenkernel/intern/material.c source/blender/editors/object/object_add.c source/blender/editors/object/object_relations.c source/blender/editors/space_outliner/outliner_draw.c source/blender/editors/space_outliner/outliner_edit.c source/blender/editors/space_view3d/drawobject.c source/blender/editors/util/ed_util.c source/blender/windowmanager/intern/wm_files_link.c
2017-11-06Rename ID_IS_LINKED_DATABLOCK to ID_IS_LINKED.Bastien Montagne
This makes code closer to id_override/assent-engine ones, which introduce a new type of linked data, and hence reserve ID_IS_LINKED_DATABLOCK to real linked datablocks.
2017-09-25Merge branch 'master' into blender2.8Sergey Sharybin
2017-09-25Fix T52835: When driven IK influence change, ik animation have 1 frame delaySergey Sharybin
2017-08-16Pass EvaluationContext instead of bContextCampbell Barton
2.8x branch added bContext arg in many places, pass eval-context instead since its not simple to reason about what what nested functions do when they can access and change almost anything. Also use const to prevent unexpected modifications. This fixes crash loading files with shadows, since off-screen buffers use a NULL context for rendering.
2017-07-21Fix function declaration of some modifiersSergey Sharybin
Those functions did not use evaluation context. Also fixed lots of unused variables warnings caused by commented out code which needs to be ported away from DerivedMesh and to evaluation context.
2017-07-21Pass EvaluationContext argument everywhereLuca Rood
Note that some little parts of code have been dissabled because eval_ctx was not available there. This should be resolved once DerivedMesh is replaced.
2017-05-31Merge branch 'master' into blender2.8Sergey Sharybin
2017-05-30Depsgraph: Add missing update tag clear for proxy objectsSergey Sharybin
This was causing proxies updates on every frame, even if they do not really change. Additionally, it was causing second round of armature update when used from inside dupligroup (viewport ensures all objects from dupligroup are up to date before draw).
2017-04-18Merge remote-tracking branch 'origin/master' into blender2.8Dalai Felinto
2017-04-18Depsgraph: Use proper scene to get frame from for pose constraints evaluaitonSergey Sharybin
Spotted by Luca, thanks!