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-03Depsgraph: completely move customdata_mask to the ID node.Alexander Gavrilov
Move all mask-related fields from Object and OperationDepsNode to Object_Runtime and IDDepsNode. Auto-apply DEG_TAG_GEOMETRY if the mask changes after DEG rebuild. Update DEG API and all code that uses it. This fixes "source mesh data is not ready" errors from Data Transfer modifier when parameters are changed in the UI after the recent mesh_get_eval_final fix. Reviewers: sergey Differential Revision: https://developer.blender.org/D4025
2018-12-03Depsgraph: Add missing cache file handling in build_id()Sergey Sharybin
2018-12-03Depsgraph: assert that mesh_get_eval_final/deform aren't used in eval.Alexander Gavrilov
Using those functions during multithreaded evaluation is a sure way to have a race condition and crash.
2018-12-02Merge branch 'master' into blender2.8Campbell Barton
2018-12-01Cleanup: styleCampbell Barton
2018-11-30Merge branch 'master' into blender2.8Campbell Barton
2018-11-30Cleanup: name macros w/ matching BEGIN/ENDCampbell Barton
2018-11-30Fix T57981: Crash entering sculpt modeSergey Sharybin
2018-11-28Outliner/visibility: revert changes for now until we find better solutions.Brecht Van Lommel
See T57857 for discussion. This reverts: "Outliner: Do not gray out empty collections" 4521d3e7074d2e08ca813e1f4a2297f5000f335b. "Remove eye column from the outliner" fd16b359977c8932ada8db4ff0e43d0402fdc280. Fix/workaround issues in pose and edit mode" 6d2e2e30d50c40f302b62d3601b5742d7c7056c6. "Per view-layer collection visibility" 4de6a210c69fe254518ca8d6c860782c54f03749.
2018-11-28Per view-layer collection visibilityDalai Felinto
We still control this in the viewport collections visibility menu. But now we are actually changing the visibility of the collections, not of the objects. If a collection is indirectly invisible (because one of its parents are invisible) we gray it out. Also if you click directly in the collection names, it "isolates" the collection by hiding all collections, and showing the direct parents and all the children of the selected collection. Development Note: Right now I'm excluding the hidden collections from the depsgraph. Thus the need for tagging relations to update. If this proves to be too slow, we can change.
2018-11-27Cleanup: style, includesCampbell Barton
2018-11-25Local ViewDalai Felinto
Bring back per-viewport localview. This is based on Blender 2.79. We have a limit of 16 different local view viewports. We are using both the numpad /, as well as the regular /. Missing features: * Hack to make sure lights are always visible. * Make rendered mode with external engines to support this as well (probably just need to support this in the RNA iterators). * Support over 16 viewports by taking existing viewports out of local view. The code can use a cleanup pass in the future to unify the test to see if an object is visible (or we can use TESTBASE in more places).
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-22Depsgraph: Ensure solver cleanup orderSergey Sharybin
Ensure that pose cleanup is never run before all IK solvers are finished.
2018-11-22Depsgraph: Cleanup, line wrappingSergey Sharybin
2018-11-22Depsgraph: Cleanup, make it easier to create relations with flagsSergey Sharybin
2018-11-21Depsgraph: Update commentSergey Sharybin
2018-11-21Depsgraph: Allow flush of CoW tag from ActionSergey Sharybin
This way we guarantee that action tagged for CoW will ensure order of updates with objects which are using it. Fixes T57870: Scaling keyframes in Graph Editor causes crash Fixes T57971: Moving keys in the Dopesheet crashes with Segfault 11 Fixes T57530: Moving keys on a rig, Crash Fixee T57491: Crash when trying to move keyframe in dope sheet
2018-11-21Depsgraph: Cleanup, use more clear nameSergey Sharybin
Five years later since the original commit, is probably not so bad timing on calling things by their clear name.
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-20Depsgraph: Don't use derived meshSergey Sharybin
Ideally would need to make check based on evaluated mesh, but is now a good time to go away from derived mesh.
2018-11-19Fix T57889: Crashes on undo and redo while working with image or image emptySergey Sharybin
2018-11-17Cleanup: styleCampbell Barton
2018-11-16Fix T56673: Tara.blend from Blender cloud crashes on loadSergey Sharybin
The issue was caused by dependency cycle solver killing relation which was guaranteed various things: i.e. copy-on-write component orders and pose evaluation order (which must first run pose init function). Now it is possible to prevent such relations from being ignored. This is not a complete fix, but is enough to make this specific rig to work. Ideally, we also need to run copy-on-write operation prior to anything else.
2018-11-15Fix T57854: Disable viewport visibility crashSergey Sharybin
2018-11-15Depsgraph: Clear localization tag for CoW IDsSergey Sharybin
They are self-contained now, and should not cause any sync or free happening when freeing them.
2018-11-15Depsgraph: Build all type of IDs for modifiers and constraintsSergey Sharybin
It was missing handling of collections there, which caused collection used for smoke colliders to not be in the dependency graph.
2018-11-15Depsgraph: Make drivers builder less noisySergey Sharybin
Do early output when trying to add target relation with wrong rna_path. We can't do anything reliably in that case anyway, so hopefully it is a no-functional-change for artists, just avoids noisy error prints in the terminal.
2018-11-15Depsgraph: Save memory by ignoring invisible objectsSergey Sharybin
This finished old standing TODO which was attempting to ignore objects of all invisible collections. The difference here is that we remove invisible bases from view layers. This guarantees that the evaluated state is consistent and does not reference original objects.
2018-11-15Depsgraph: Fix/workaround crash after recent point cache changesSergey Sharybin
For some reason relations can not always be found. This is to be investigated, but doesn't hurt to be safe here. Also allows to unlock production.
2018-11-15Depsgraph: Use more human readable relation keys identifierSergey Sharybin
2018-11-15Cleanup: typo, whitespaceCampbell Barton
2018-11-14Depsgraph: suppress logs from add_relation on invalid driver variables.Alexander Gavrilov
Rig generators (e.g. rigify) use dummy drivers to attach extra ID references to rigs for Append/Link. These references use Single Property variables with empty path, which is intentionally invalid and shouldn't produce low-level error logs from depsgraph. The removed code would always print an error because RNAPathKey requires a valid path to produce a non-NULL reference.
2018-11-14Depsgraph: Remove meaningless evaluation modeSergey Sharybin
With the current implementation it only confuses logic around checks like vewport/render subdivision levels. If this mode is really needed for any decision making, implement this properly.
2018-11-14Depsgraph: Fix missing point cache reset when physics changesSergey Sharybin
Among all the lines moved around, the general idea is quite simple. Actually, there are two ideas implemented there. First one, is when object itself is tagged for update, we tag its point cache component for evaluation, which makes it so point cache is properly reset. We do it implicitly because otherwise we'll need to go everywhere and add explicit tag in almost all the properties. Second thing is, we link all collider and force fields to a point cache component using special type of link. This type of link only allows flush if change is caused by a user update. This way reset does not happen when change is caused due to animation, but will properly happen when user causes indirect change to the objects which are part of physics simulation.
2018-11-14Depsgraph: Remove unused operation codeSergey Sharybin
2018-11-14Depsgraph: Cleanup, code styleSergey Sharybin
Should be no functional changes.
2018-11-14Depsgraph: fix relations for drivers on bone weight in Armature constraint.Alexander Gavrilov
2018-11-13Depsgraph: fix missing relations for drivers on ShaderNode properties.Alexander Gavrilov
Also fix duplicate driver to target relations due to a redundant line.
2018-11-09Cleanup, indentationSergey Sharybin
2018-11-08Fix depsgraph console warning after recent changes.Brecht Van Lommel
2018-11-08Fix T57689: world nodes / texture not updating for Eevee.Brecht Van Lommel
Only do GPU material updates through depsgraph evaluation now. This was already happening for material, just missing for the world.
2018-11-07Cleanup: remove some useless BKE_library and BKE_main includes.Bastien Montagne
Makes it simpler to make some changes... Also fix order of some includes (use alphabetical please).
2018-11-07Cleanup/Refactor: move Main stuff into BKE's new main.c file (and header).Bastien Montagne
We already had a BKE_main.h header, no reason not to put there Main-specific functions, BKE_library has already more than enough to handle with IDs and library management!
2018-11-07Fix dpesgraph wrongly refcounting NLA strip actions when duplicating IDs.Bastien Montagne
NLA strips are users of their action, so we need to pass along ID management flags. This commit also cleans up a bit things by passing along ID_CREATE/COPY flags instead of dummy booleans...
2018-11-07Depsgraph: add proper handling of actions contained in NLA strips.Alexander Gavrilov
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-11-06Shrinkwrap: new mode that projects along the target normal.Alexander Gavrilov
The Nearest Surface Point shrink method, while fast, is neither smooth nor continuous: as the source point moves, the projected point can both stop and jump. This causes distortions in the deformation of the shrinkwrap modifier, and the motion of an animated object with a shrinkwrap constraint. This patch implements a new mode, which, instead of using the simple nearest point search, iteratively solves an equation for each triangle to find a point which has its interpolated normal point to or from the original vertex. Non-manifold boundary edges are treated as infinitely thin cylinders that cast normals in all perpendicular directions. Since this is useful for the constraint, and having multiple objects with constraints targeting the same guide mesh is a quite reasonable use case, rather than calculating the mesh boundary edge data over and over again, it is precomputed and cached in the mesh. Reviewers: mont29 Differential Revision: https://developer.blender.org/D3836
2018-11-06Implement an Armature constraint that mimics the modifier.Alexander Gavrilov
The main use one can imagine for this is adding tweak controls to parts of a model that are already deformed by multiple other major bones. It is natural to expect such locations to deform as if the tweaks aren't there by default; however currently there is no easy way to make a bone follow multiple other bones. This adds a new constraint that implements the math behind the Armature modifier, with support for explicit weights, bone envelopes, and dual quaternion blending. It can also access bones from multiple armatures at the same time (mainly because it's easier to code it that way.) This also fixes dquat_to_mat4, which wasn't used anywhere before. Differential Revision: https://developer.blender.org/D3664
2018-11-02Fix T57316: material preview icons not updating.Brecht Van Lommel
The editors update callback was getting the COW datablock, it should be the original where the preview icons are stored.