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
2020-01-21Fix T72213: F-Curve animation does not update FreeStyle propertiesSybren A. Stüvel
FreeStyle line styles were not part of the dependency graph, and blacklisted from the Copy-on-Write system. As a result, animated FreeStyle properties would not be updated by the animation system, resulting in T72213. There was an explicit call to run the animation system on the original datablocks, but that was (for good reasons) removed in D5394. This commit adds the FreeStyleLineStyle datablocks to the dependency graph and allows them to be handled by the CoW system. As a result - the UI now updates properly when properties are animated, and - animated property values are actually used when rendering. This commit includes @Sergey's patch P1222, which unifies two bits of code that did the same thing: check whether datablock type is covered by copy-on-write. Reviewed By: sergey, brecht Differential Revision: https://developer.blender.org/D6609
2020-01-02Fix T72820: Linked objects jumping around during renderSergey Sharybin
Was caused by 6183688c3560 (thanks ronsn for nailing it down!). The issue is that order of copy-on-write operations is not defined, so can not use flags set by that operation to make decision.
2019-11-22Depsgraph: Ignore action time dependency if it's not neededSergey Sharybin
It is possible to have action which is not nullptr but which have no f-curves in it (for example, animate cube's location, then delete all f-curves). Such situation should not add time dependency as it could slow down scene evaluation on frame change.
2019-11-06Fix crash when adding Scene variable to a driverSybren A. Stüvel
When a Scene variable is added to a driver, and the RNA path is still NULL, it no longer crashes Blender.
2019-10-30Fix T71212: Drivers using scene.frame_current don't refresh on playbackSergey Sharybin
Need to make such drivers explicitly dependent on time.
2019-10-30Depsgraph: Cleanup, use anonymous nsamespaceSergey Sharybin
Jeeps overall line lengths with function definition shorter.
2019-10-10Fix T65134: Duplicated proxies in several scenes don't workSergey Sharybin
This is something which worked in Blender 2.79. Need to do special trickery to ensure peoxy_from points to a proper object. Differential Revision: https://developer.blender.org/D6040
2019-09-25Depsgraph: Mark build methods as virtualSergey Sharybin
Allows to override behavior in a subclasses. Currently no functional changes. The penalty of calls being virtual should be neglectable.
2019-09-25Depsgraph: Move proxy group and from building to own functionSergey Sharybin
Currently no functional changes, but allows to make it more clear to implement depsgraph construction from a given subset of scene.
2019-09-25Fix T69573: Driver Value does not slide along the actual value in the Driver ↵Sybren A. Stüvel
Editor This change is two-fold: - Ensure the result of the F-Curve evaluation is stored on the FCurve object. This was done in 2.79 but lost when we moved to more granular per-curve evaluation from the depsgraph. - Flush this result from the CoW copy back to the original. Reviewed by: sergey Differential Revision: https://developer.blender.org/D5888
2019-09-19Fix the rest of T68666: Animated mesh UVs, vertex colors don’t update onPhilipp Oeser
time change followup to 815ca2310fb4, this one fixes the RNA_MeshLoopColor case, adds RNA_VertexGroupElement and RNA_LatticePoint. coop with @sergey, thx. Fixes T68666
2019-09-19Fix part of T68666: Animated mesh UVs, vertex colors don’t update on time ↵Sergey Sharybin
change
2019-09-18Depsgraph: Cleanup, spelling in commentSergey Sharybin
2019-09-11Armature: convert the length Python property of bones to a RNA property.Alexander Gavrilov
This allows accessing it from drivers and using it in UI, as demonstrated by adding it to the transform panel of 3D View. As an aside, properly mark transform-related properties of Bone read-only, as they can only be changed correctly in edit mode.
2019-09-07Partially revert "Cleanup: use post increment/decrement"Campbell Barton
This partially reverts commit 0b2d1badecc48b5cbff5ec088b29c6e9acc5e1d0 Post increment can deep-copy for C++ iterators, while in my own checks GCC was able to optimize this to get the same output, better follow C++ best practice and use pre-increment for iterators.
2019-09-07Cleanup: use post increment/decrementCampbell Barton
When the result isn't used, prefer post increment/decrement (already used nearly everywhere in Blender).
2019-09-03Fix T69326: Parent type ARMATURE doesn't workSergey Sharybin
2019-09-03Depsgraph: Cleanup, more clear variable nameSergey Sharybin
2019-09-03Depsgraph: Cleanup commentSergey Sharybin
2019-08-30Cleanup: spellingCampbell Barton
2019-08-25Cleanup: redundant struct declarationsCampbell Barton
2019-08-23RNA: Cleanup PointerRNA structJacques Lucke
The old layout of `PointerRNA` was confusing for historic reasons: ``` typedef struct PointerRNA { struct { void *data; } id; struct StructRNA *type; void *data; } PointerRNA; ``` This patch updates it to: ``` typedef struct PointerRNA { struct ID *owner_id; struct StructRNA *type; void *data; } PointerRNA; ``` Throughout the code base `id.data` was replaced with `owner_id`. Furthermore, many explicit pointer type casts were added which were implicit before. Some type casts to `ID *` were removed. Reviewers: brecht, campbellbarton Differential Revision: https://developer.blender.org/D5558
2019-08-13Custom Properties: officially support int and float arrays in the UI.Alexander Gavrilov
In some rare cases it is convenient to store a short array value as a custom property, e.g. a vector or color. For example, it may be helpful when importing/exporting certain formats that support custom or nonstandard attributes on objects. The custom property storage already can handle arrays in order to support properties defined via python. The only thing missing is UI support (and some bugs), and this patch fixes that: - Allow editing short array properties via Custom Properties panel. - Fix a UI layout sizing bug triggered by the previous item. - Fix a dependency graph bug with drivers using such properties. - Make RNA_*_get_default_array code robust in case of size mismatch. - Support custom default values for array properties, allowing both an array and a scalar value. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D5457
2019-08-11Cleanup: spellingCampbell Barton
2019-08-01Cleanup: misc spelling fixesCampbell Barton
T68035 by @luzpaz
2019-07-30Fix T66591: GPencil layer visibility control via driver doesn't workSergey Sharybin
2019-07-28Fix T66872: Changing clip color space does not update background imagesSergey Sharybin
Such reload can no longer happen directly and is to be done via dependency graph. Eventually, the movie cache will become shared across all copies of the clip, but even then we still need to have dependency graph mechanism because we need to update FFmpeg animation handle (which can not be shared across the copies).
2019-07-26Fix T66325: Animation Keyframe Undo/Redo BugSergey Sharybin
The issue was caused by dependency graph always ignoring animation update when it is first time constructed. This was a way to make it preserve unkeyed changes on undo/redo. This, however, made it so changes of animation data itself (such as deleting/moving keyframes) did not trigger animation update by the dependency graph. This worked prior to copy-on-write because animation recalc flags were stored in the DNA and never re-set on file/undo load. This was giving dependency graph a clue that animation is to be re-evaluated when operator explicitly asked to (more precisely, when such operator was undone/redone). This change makes it so original ID's recalc flags are storing recalc flags when ID is tagged for update as an response to user input. This way re-building dependency graph can force animation to be updated on redo. Tricky part here is that ID's recalc flag is no longer to be zeroed when loading undo step (which is the same as reading .blend file). This is something what works differently comparing to legacy dependency graph, which was zeroing object's recalc flags there but not animation data's recalc flags. Shouldn't be causing issues, since unkeyed changes are not preserved upon opening a file anyway, at least to my knowledge. Related reports which are to be taken into account and verified they are not re-introduced when making changes in the area: - T63111: Auto-Bake stuck at constant re-rendering - T54296: Cycles viewport render stuck on constant re-render Reviewers: campbellbarton, brecht Reviewed By: campbellbarton, brecht Maniphest Tasks: T66325 Differential Revision: https://developer.blender.org/D5316
2019-07-17Fix T66919: Force field does not affect particlesSergey Sharybin
Reviewers: brecht Reviewed By: brecht Maniphest Tasks: T66919 Differential Revision: https://developer.blender.org/D5275
2019-07-15Fix compositor ignoring mask parentingSergey Sharybin
There are two aspects to the problem: - Dependency graph update for compositor preview was missing updates flush. Apparently, update for new frame style of update will take care of flushing, but not the update tagged style of update. This goes to a legacy dependency graph and is to be changed at some point, but not so close to the release. - Movie clips were missing from the compositor dependency graph. This fixes part of T66519. Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D5256
2019-07-08Fix T66556: Noisy drivers relations in certain casesSergey Sharybin
2019-07-07Cleanup: spellingCampbell Barton
2019-07-03Fix T66234: Issue on switching material mode between Object and DataSergey Sharybin
The root of the issue comes to the fact that part of dependency graph is being removed, without doing any further remapping. This was happening because only materials used by objects were pulled in, so when material mode is changed some material became unused and removed from the dependency graph and freed, causing object or its data to point to a freed memory in its materials array. Simplest and safest way to solve this is to pull materials referenced by both object and object data. This causes somewhat higher memory usage but keeps evaluated state of scene in an always consistent state, without any need to tag/update object's data on material mode change. Don't think it is a problem in practice. Reviewers: brecht, fclem Reviewed By: brecht, fclem Differential Revision: https://developer.blender.org/D5172
2019-07-03Fix T66370: add_relation Message in Console with certain shadersSergey Sharybin
2019-07-03Fix T66366: Multi object edit makes blender crashSergey Sharybin
Two issues here: - Evaluated object data is to only be updated for selection only after modifier stack is done its job. Otherwise it's possible to have selection batch update called on an input data, at the same time as original object data is being evaluated. - If object's modifier stack did not create its own evaluated mesh (in case when there is no effective modifiers, for example) can not update selection on object's data, as it might cause threading issues between objects sharing same data.
2019-07-02Fix T65778: Missing selection update with linked objects in edit modeSergey Sharybin
2019-07-02Cleanup: spellingCampbell Barton
2019-07-01Fix T66207: Invalid depsgraph relation when driver uses object dimensionSergey Sharybin
Would be nice to find a more proper and generic solution instead of name based comparison, but can not really think a nice way to go currently.
2019-06-28Fix T62990: Selecting bones causes pose to be re-evaluatedSergey Sharybin
2019-06-28Fix T66105: Changing force field does not update simulationSergey Sharybin
2019-06-26Fix missing volume update via scene strip's settingsSergey Sharybin
This is a part of T66117. The entire sequencer+3d sound was never reliable, so this is as much as i can fix currently.
2019-06-26Fix T66132: Unable to move bone in special configurationSergey Sharybin
Animation needs to wait for the sub-data datablock copy-on-write, but tagging that copy-on-write should not enforce animation evaluation.
2019-06-24Fix T66050: Textbox is not updated, when controlled with driversSergey Sharybin
2019-06-17Fix T65817: Video Sequencer doesen't render speakers' soundsSergey Sharybin
Part of the issue was caused by missing speaker objects in the depsgraph used for post-processing. Remaining part was caused by missing scene sound update for this depsgraph.
2019-06-17Cleanup: comment, RNA spellingCampbell Barton
2019-06-12Fix T57489: Texture coordinate object reference not updating in EeveeSergey Sharybin
2019-06-12Cleanup: spelling in commentsCampbell Barton
2019-06-07Sound: Fix 3D sound coming from scene stripsSergey Sharybin
Need to pull in speakers from scene strips and make sure they are properly updated.
2019-06-07Sequencer: Fix missing sound from nested scene stripsSergey Sharybin
2019-06-07Fix missing autosmooth update when animatedSergey Sharybin
Consists of few simple steps. Don't tag object data's bounding box as dirty before re-evaluaiton Most of the time this actually tags evaluated mesh which will be tossed away few lines below anyway. And this causes issues if the evaluated mesh is actually owned by the mesh datablock. The bounding box now has clear separation between original object data and object data after modifiers, so this should not be causing any issues. Free evaluated mesh when owner mesh changes Ensures that evaluated mesh shares the same settings as its owner when updates related on animation system happens. Depsgraph: Update mesh when its geometry settings changes Allows to have options like autosmooth animated. Reviewers: brecht, mont29 Differential Revision: https://developer.blender.org/D5030