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-07Refactor `BKE_id_copy_ex` to return the new ID pointer.Bastien Montagne
Note that possibility to pass the new ID pointer as parameter was kept, as this is needed for some rather specific cases (like in depsgraph/COW, when copying into already allocated memory). Part of T71219.
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-10-05Move sequencer sources from blenkernelRichard Antalik
This is first step of refactoring task T77580. Next step will be breaking up files into smaller ones. Reviewed By: sergey, brecht Differential Revision: https://developer.blender.org/D8492
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-19Cleanup: consistent TODO/FIXME formatting for namesCampbell Barton
Following the most widely used convention for including todo's in the code, that is: `TODO(name):`, `FIXME(name)` ... etc.
2020-09-11Cleanup: spelling, correct commentsCampbell Barton
2020-09-10Cleanup: spellingCampbell Barton
2020-09-09Add nullptr checks in the depsgraph physics relation builderSebastian Parborg
Without these check ASAN complains about null pointer member access. Reviewed By: Sergey Differential Revision: http://developer.blender.org/D8847
2020-09-09Cleanup: spellingCampbell Barton
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-24Fix T80035: Fix crash switching/adding scenesSergey Sharybin
Ensure that time source always is in the dependency graph, allowing to tag the graph for time update prior it was fully built. Collaboration of Philipp Oeser, Jacques Lucke and myself. Thanks everyone :)
2020-08-21Cleanup: rename iterators over sequences to be more clear about what they do.Bastien Montagne
No functional changes expected.
2020-08-20Depsgraph: refactor tagging after time changesJacques Lucke
This reverts {rB1693a5efe91999b60b3dc0bdff727473b3bd00bb} and implements an alternative solution. The old patch had the problem that the depsgraph would always evaluate at the current frame of the original scene (even when `DEG_evaluate_on_framechange` was used). Now it is possible to evaluate the depsgraph at a specific frame without having to change the original scene. Reviewers: sergey, sybren Differential Revision: https://developer.blender.org/D8616
2020-08-19Cleanup: spellingCampbell Barton
2020-08-18Depsgraph: simplify DEG_evaluate_* APIJacques Lucke
This mainly removes the bmain argument, which can be retrieved from the graph itself. Also, I removed some outdated/unnecessary comments. Reviewers: sergey, sybren Differential Revision: https://developer.blender.org/D8614
2020-08-18Depsgraph: simplify build APIJacques Lucke
Reviewers: sergey, sybren Differential Revision: https://developer.blender.org/D8611
2020-08-18Cleanup: remove bmain argument from BKE_scene_graph_update_for_newframeJacques Lucke
Reviewers: sergey Differential Revision: https://developer.blender.org/D8613
2020-08-18Cleanup: remove outdated commentsJacques Lucke
2020-08-18Cleanup: remove TimeSourceNode->cfra which is never readJacques Lucke
2020-08-18Cleanup: remove unused TimeSourceNode->offsetJacques Lucke
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-17Cleanup: sort CMake path listsCampbell Barton
2020-08-17Cleanup: spellingCampbell Barton
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-11Depsgraph: Use UUID to match modifiersSergey Sharybin
Solves possible pointer-based comparison fiasco. Another nice outcome of this is that topology cache will now be preserved throughout the undo system. For example, undo of object transform will not require topology cache to be re-created. Differential Revision: https://developer.blender.org/D8493
2020-08-11Modifier: Maintain per-modifier session UUIDSergey Sharybin
Allows to keep track of modifiers, which is required, for example, for runtime data preservation in depsgraph.
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-07Clang-Tidy: Address readability-redundant-string-initSergey Sharybin
2020-08-07Merge branch 'blender-v2.90-release' into masterJacques Lucke
2020-08-07Code Style: use "#pragma once" in source directoryJacques Lucke
This replaces header include guards with `#pragma once`. A couple of include guards are not removed yet (e.g. `__RNA_TYPES_H__`), because they are used in other places. This patch has been generated by P1561 followed by `make format`. Differential Revision: https://developer.blender.org/D8466
2020-08-06Depsgraph: refactor dot exporter to use utility library from blenlibJacques Lucke
Reviewers: sybren, sergey Differential Revision: https://developer.blender.org/D8473
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-04Refactor: rename SpaceType->new to SpaceType->createJacques Lucke
The data member `new` was conflicting with the `new` keyword when `BKE_screen.h` was included in C++ files. Reviewers: sergey Differential Revision: https://developer.blender.org/D8459
2020-08-04Depsgraph: Fix wrong forward declarationsSergey Sharybin
2020-08-04Merge branch 'blender-v2.90-release'Sergey Sharybin
2020-08-04Depsgraph: Use UUID to identify pose channelsSergey Sharybin
Fixes possible fiasco caused by re-allocation re-using pointers between pose channels. Differential Revision: https://developer.blender.org/D8453
2020-08-04Pose channel: Add session UUIDSergey Sharybin
Allows to identify pose channels more reliably than by the pointer.
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