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-10-19Spelling: It's Versus ItsHarley Acheson
Corrects incorrect usage of contraction for 'it is', when possessive 'its' was required. Differential Revision: https://developer.blender.org/D9250 Reviewed by Campbell Barton
2020-10-06Fix T81218: Crash in pose mode using a driver on bendy bone SegmentSybren A. Stüvel
The example file in T81218 has a driver that maps a bone's X-location to the number of BBone segments. This caused a dependency cycle, which resulted in bad thread serialisation, which caused the crash. This patch breaks the dependency cycle `BONE_LOCAL` → `DRIVER(bones["Bone"].bbone_segments)` → `BONE_LOCAL`. The 'Driver Data' relation now points to `BONE_SEGMENTS` when the driven property starts with `bbone_`. Differential Revision: https://developer.blender.org/D9122
2020-10-06Cleanup: Depsgraph, reduce nesting of driver relations codeSybren A. Stüvel
Reduce nesting of `DepsgraphRelationBuilder::build_driver_data()` by flipping conditions and `return`/`continue` early. No functional changes.
2020-09-30Cleanup: sort struct declarationsCampbell Barton
2020-09-28Fix T80121: Forcefield F-curve modifier changes don't reset cacheSybren A. Stüvel
Add a dependency graph relation Force Object Animation → Scene Rigid Body World Rebuild. This ensures that the rigid body world is rebuilt when a force object is re-tagged for animation updates. The extra relation doesn't add any new calculations when the animation is running, as the Time Source node already had a relation to the scene's `RIGIDBODY_REBUILD` node. The relation is created directly to the `RIGIDBODY_REBUILD` Operation. I would have liked to target the containing Component instead. However, that has the `RIGIDBODY_SIM` operation as entry node, which isn't enough to actually fix T80121. Reviewers: Sergey Differential Revision: https://developer.blender.org/T80121
2020-09-21Implement ID properties support for TimeMarkerSergey Sharybin
Allows scripters to store additional information in the marker itself instead of using work-around approach based on marker names and such. Differential Revision: https://developer.blender.org/D8944
2020-09-04Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fixSebastian Parborg
No functional changes
2020-09-01Fix: Active rigidbodies would not recive updates after the stopped being ↵Sebastian Parborg
animated Because depsgraph isn't rebuild for animated properies, we have to assume that active bodies will always want to have updates from the rigidbody simulation.
2020-08-28Fix Rigidbody depsgraph passive and constraint transform relations.Sebastian Parborg
We need to have transforms from passive objects if they are animated or driven by parent relations. This is not immediately obvious as the object transform matrix will still be available, it is just one frame behind in some cases. Fixed dependency cycles if there is a constraint between two rigid bodies. Because bullet keeps track of its simulated bodies, we do not need to supply objects transforms as bullet should already have them. I need combine these two fixes because otherwise we will get depsgraph warnings that nodes are missing that it expects to be there. Reviewed By: Sergey, Jacques Differential Revision: http://developer.blender.org/D8732
2020-08-21Cleanup: rename iterators over sequences to be more clear about what they do.Bastien Montagne
No functional changes expected.
2020-08-19Cleanup: spellingCampbell Barton
2020-08-18Depsgraph: simplify build APIJacques Lucke
Reviewers: sergey, sybren Differential Revision: https://developer.blender.org/D8611
2020-08-18Cleanup: use Span instead of separate pointer and lengthJacques Lucke
Reviewers: sergey Differential Revision: https://developer.blender.org/D8605
2020-08-17Fix T75936: Alembic, allow exporting of invisible objectsSybren A. Stüvel
Add a new depsgraph builder class that includes invisible objects and use that in the Alembic exporter. Alembic supports three options for visibility, "visible", "inherited", and "hidden". This means that parents can be hidden and still have visible children (contrary to USD, where invisibility is used to prune an entire scene graph subtree). Because of this, the visibility is stored on the transform node, as that represents the Object in Blender and thus keeps the Alembic file as close to Blender's own structure as possible. Reviewed By: Sergey Differential Revision: https://developer.blender.org/D8595
2020-08-12Fix T79706: Delta Transform Animation not workingSebastian Parborg
The object "delta_" rna variables were not added to the depsgraph search and thus it would not trigger updates of the object during animation playback.
2020-08-12Cleanup: compiler warningsBrecht Van Lommel
2020-08-10Merge branch 'blender-v2.90-release'Julian Eisel
2020-08-10Fix T77685: object transforms from rigid body simulation are ignored by ↵Jacques Lucke
modifiers This does not fix all the cases in the bug report, because there are multiple different issues. Only the first two are fixed. The third is probably a known issue for now. Before this patch, the rigid body simulation was always done after modifiers are evaluated, because to perform the simulation, the final geometry of the object was required. However, the geometry is not required in all cases, depending on the selected collisions shape. This patch changes it so that when the simulation does not need the evaluated geometry, the simulation will be done before the modifiers are evaluated. This gives the modifiers access to the simulated positions. When the rigid body simulation does depend on the evaluated geometry, it will still be performed after modifiers are evaluated. The simulation will be performed after modifiers are evaluated, iff the collision shape is "Convex Hull" or "Mesh" and the source is set to "Deform" or "Final". Reviewers: sergey Differential Revision: https://developer.blender.org/D8487
2020-08-07Cleanup: use C++ style casts in various placesJacques Lucke
2020-08-07Cleanup: Depsgraph, Clang-Tidy else-after-return fixesSybren A. Stüvel
This addresses warnings from Clang-Tidy's `readability-else-after-return` rule in the `source/blender/depsgraph` module. No functional changes.
2020-08-05Merge branch 'blender-v2.90-release'Bastien Montagne
2020-08-05Fix T79544: No sound in video sequencer preview.Bastien Montagne
Directly caused by rB2bb73787791a, but actual issue was a pre-exiting typo that never caused problems so far apparently...
2020-08-04Depsgraph: Fix wrong forward declarationsSergey Sharybin
2020-08-04Cleanup: converted Depsgraph Building Pipeline to object-oriented codeSybren A. Stüvel
This will make it easier & cleaner to make custom-built depsgraph (for example for exporting invisible objects to USD or Alembic, see T75936). No functional changes. Reviewed by: sergey Differential Revision: https://developer.blender.org/D8423
2020-08-03Merge branch 'blender-v2.90-release'Bastien Montagne
2020-08-03Fix T79222: Assert due to multiple building of same scene sequencer in ↵Bastien Montagne
depsgraph. Just check and skip building if it has already been done before. Thanks to @sergey for the help.
2020-07-30Add compound shape for rigid body simulationDavid Vogel
This patch adds a new compound shape entry to the shape selection dropdown. It also corrects wrong inertia calculation for convex hulls, that resulted in strange behavior for small objects. The compound shape take the collision shapes from its object children and combines them. This makes it possible to create concave shapes from primitive shapes. Using this instead of the mesh collision shape is often many times faster. Reviewed By: Sergey, Sebastian Parborg Differential Revision: http://developer.blender.org/D5797
2020-07-30Fix T79117: dependency cycle with passive rigid body objectsJacques Lucke
Reviewers: zeddb Differential Revision: D8431
2020-07-28Cleanup: spelling, commentsCampbell Barton
2020-07-27Merge remote-tracking branch 'origin/blender-v2.90-release'Sybren A. Stüvel
2020-07-27Fix T79121: Dependency cycle when driver points to prop with 'scale' in nameSybren A. Stüvel
This makes `RNANodeQuery::construct_node_identifier()` more strict in its matching of certain property names. The downside of this approach is that it's not possible any more to use `"rotation"` and expect a match for `"rotation_euler"` and friends, so the list of strings to test against is now 3x as long. Reviewed By: sergey Maniphest Tasks: T79121 Differential Revision: https://developer.blender.org/D8375
2020-07-25Simulation: cleanup dna dataJacques Lucke
2020-07-23Merge branch 'blender-v2.90-release'Jacques Lucke
2020-07-23Fix T77277: building depsgraph inter-driver relations is slowSybren A. Stüvel
The extra depsgraph relations that were added to prevent threading issues during evaluation (rB4c30dc343165) caused a considerable slowdown on complex scenes with many drivers (T77277, T78615). This commit improves this as follows. Only the following drivers are considered for execution serialisation: - Drivers on Array elements, and - Drivers on Boolean or Enum properties. Relations between drivers of the same arrays are added blindly, i.e. without checking for transitive or cyclic relations. This is possible as other relations will just target the `PROPERTIES_ENTRY` or `PROPERTIES_EXIT` nodes. Checking whether a driver is on an array is first done by checking `array_index > 0`, and then falling back to resolving the RNA path to an RNA property and inspecting that. The code also avoids circular dependencies when there are multiple drivers on the same property. This not something that is expected to happen (both the UI and the Python API prevent duplicate drivers), it did happen in a file (F8669945, example file of T78615) and it is easy to deal with here. Reviewers: sergey Subscribers: mont29 Comment update
2020-07-23Simulation: add depsgraph relations for ids referenced by node treeJacques Lucke
I'll really have to refactor `ntreeUpdateTree` soon to avoid scanning all node trees multiple times.
2020-07-23Cleanup: unused argumentCampbell Barton
2020-07-22Depsgraph: build ids referenced by socketsJacques Lucke
2020-07-22Simulation: improve depsgraph integrationJacques Lucke
A simulation data block has an embedded node tree, which requires special handling in a couple of places. Some of those places were missing beforehand. This also adds a relation to make sure that the simulation is evaluated after animations on the embedded node tree are evaluated.
2020-07-20Refactor: Update integer type usageJacques Lucke
This updates the usage of integer types in code I wrote according to our new style guides. Major changes: * Use signed instead of unsigned integers in many places. * C++ containers in blenlib use `int64_t` for size and indices now (instead of `uint`). * Hash values for C++ containers are 64 bit wide now (instead of 32 bit). I do hope that I broke no builds, but it is quite likely that some compiler reports slightly different errors. Please let me know when there are any errors. If the fix is small, feel free to commit it yourself. I compiled successfully on linux with gcc and on windows.
2020-07-17Cleanup: Removed incorrect `// namespace DEG` commentSybren A. Stüvel
No functional changes.
2020-07-16Fix T78920: missing depsgraph relation when using sound strips in VSESybren A. Stüvel
Having a sound strip in the VSE caused a missing relation error to be logged on the console. This was caused by the AUDIO depsgraph component not having an entry node. This commits adds that node, and sets up relations correctly. Differential Revision: https://developer.blender.org/D8290 Reviewed By: Sergey
2020-07-10Cleanup: spellingCampbell Barton
2020-07-03Clang-Tidy: Enable redundant static qualifier warningSergey Sharybin
This change enables readability-static-definition-in-anonymous-namespace warning in .clang-tidy configuration.
2020-07-03Depsgraph: Use C++ style of guarded allocation of objectsSergey Sharybin
2020-06-30Fix missing relation in compositor depsgraphSybren A. Stüvel
This is a fix for c7694185c92. An object without base can still be in the depsgraph, and then the `VIEW_LAYER_EVAL` node does not exist. This popped up while @Sergey was looking into T78264.
2020-06-29Depsgraph: introduce blender::deg namespaceJacques Lucke
Reviewers: sergey Differential Revision: https://developer.blender.org/D8150
2020-06-29Cleanup: use std::make_unique instead of blender::make_uniqueJacques Lucke
This is possible, because we use C++17 now.
2020-06-26Cleanup: Depsgraph, remove unused `Base *` parameterSybren A. Stüvel
The `Base *` parameter of `DepsgraphRelationBuilder::build_object()` was made redundant by c7694185c92aa. This commit actually removes it. No functional changes.
2020-06-26Fix T78071: Drivers reading object visibility not updating automaticallySybren A. Stüvel
A driver reading `Object.hide_viewport` would break when that object was hidden. Hidden objects don't have the `OBJECT_BASE_FLAGS` node in the depsgraph, but that node was required for the driver to work. Now the `OBJECT_FROM_LAYER` component (which optionally contains the `OBJECT_FROM_LAYER` node) has explicit `ENTRY` and `EXIT` nodes, which are used for relations with other components. These relations now remain valid, even when the `OBJECT_FROM_LAYER` node is absent. Differential Revision: https://developer.blender.org/D8124 Reviewed By: sergey
2020-06-25Revert "Fix T78071: Drivers reading object visibility not updating ↵Sybren A. Stüvel
automatically" This reverts commit baa0da3e69a1225cd18c075be5563c7d811b5347. The commit causes some issues I didn't foresee, I'd rather take the time to do it properly than hastily try and commit a fix for it.