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-10Cleanup: use C comments for descriptive textCampbell Barton
Follow our code style guide by using C-comments for text descriptions.
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-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-18Cleanup: remove TimeSourceNode->cfra which is never readJacques Lucke
2020-08-18Cleanup: remove unused TimeSourceNode->offsetJacques 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-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-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-03Clang-Tidy: More fixed of redundant check before deleteSergey Sharybin
For some reason got unnoticed in the original cleanup pass.
2020-07-03Depsgraph: Use C++ style of guarded allocation of objectsSergey Sharybin
2020-06-29Depsgraph: introduce blender::deg namespaceJacques Lucke
Reviewers: sergey Differential Revision: https://developer.blender.org/D8150
2020-06-27Docs: correct invalid doxygen params & referencesCampbell Barton
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-10Depsgraph: use blender::Vector instead of std::vectorJacques Lucke
We decided that `blender::Vector` should be the default choice for a vector data structure in Blender. Reviewers: sergey Differential Revision: https://developer.blender.org/D7981
2020-06-09Cleanup: move hashing of OperationIDKey to member functionJacques Lucke
2020-06-09BLI: put C++ data structures in "blender" namespace instead of "BLI"Jacques Lucke
We plan to use the "blender" namespace in other modules as well.
2020-06-09BLI: generally improve C++ data structuresJacques Lucke
The main focus here was to improve the docs significantly. Furthermore, I reimplemented `Set`, `Map` and `VectorSet`. They are now (usually) faster, simpler and more customizable. I also rewrote `Stack` to make it more efficient by avoiding unnecessary copies. Thanks to everyone who helped with constructive feedback. Approved by brecht and sybren. Differential Revision: https://developer.blender.org/D7931
2020-05-25Merge remote-tracking branch 'origin/blender-v2.83-release'Sybren A. Stüvel
2020-05-25Fix T76897: Lamp Power Not Updating from DriverSybren A. Stüvel
Lamps were not tagged with `ID_RECALC_SHADING` when they were updated from drivers. As a result, Cycles considered the lamp as unchanged. This is resolved by having a (seemingly non-functional) callback in a new `LIGHT_UPDATE` depsgraph node. This patch unconditionally adds the `LIGHT_UPDATE` node + the relation from the lamp's PARAMETERS node. Differential Revision: https://developer.blender.org/D7822 Reviewed by: brecht
2020-05-13Simulation: Add modifier to access simulation dataJacques Lucke
For now the "Simulation" modifier only exists for point cloud objects, because we need this for the particle system. Right now, the modifier is doing nothing. There is a new `DEG_add_simulation_relation` function that is used by the modifier to make sure that the simulation is evaluated before the modifier is executed. Reviewers: brecht, sergey Differential Revision: https://developer.blender.org/D7549
2020-05-08Cleanup: take includes out of 'extern "C"' blocksJacques Lucke
Surrounding includes with an 'extern "C"' block is not necessary anymore. Also that made it harder to add any C++ code to some headers, or include headers that have "optional" C++ code like `MEM_guardedalloc.h`. I tested compilation on linux and windows (and got help from @LazyDodo). If this still breaks compilation due to some linker error, the header containing the symbol in question is probably missing an 'extern "C"' block. Differential Revision: https://developer.blender.org/D7653
2020-04-28Cleanup: remove unnecessary includesJacques Lucke
2020-04-28Depsgraph: use BLI::Vector for RelationsJacques Lucke
Reviewers: sergey Differential Revision: https://developer.blender.org/D7556
2020-04-28Depsgraph: Use BLI::Map in more placesJacques Lucke
Reviewers: sergey Differential Revision: https://developer.blender.org/D7519
2020-04-24Depsgraph: Use BLI::Map instead of GHash for operations_mapJacques Lucke
Reviewers: sergey Differential Revision: https://developer.blender.org/D7509
2020-04-17Fix T75686: Animating scene audio volume doesn't workSybren A. Stüvel
Scene audio volume changes require the scene to be tagged with `ID_RECALC_AUDIO_VOLUME` (see `BKE_scene_update_sound()`). Tagging happens in the RNA update function `rna_Scene_volume_update()`, but that function is not called by the animation system. As a result, animated volume changes are not sent to the audio system. This commit adds a new depsgraph operation node that sets this tag when necessary, so that the animated values are used in the rest of the depsgraph evaluation. Reviewed By: sergey Differential Revision: https://developer.blender.org/D7429
2020-04-03Cleanup: Animation, move AnimData API to `anim_data.c`/`BKE_anim_data.h`Sybren A. Stüvel
The `BKE_animsys.h` and `anim_sys.c` files already had a an "AnimData API" section. The code in that section has now been split off, and placed into `BKE_anim_data.h` and `anim_data.c`. All files that used to include `BKE_animsys.h` have been adjusted to only include the animation headers they need (sometimes none). No functional changes.
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-11Depsgraph: Fix crash deleting Viewer image from OutlinerSergey Sharybin
Was happening when having compositor open with Viewer node attached directly to Render Layers output. There were two things involved here: 1. The code which was storing CoW-ed versions of IDs was checking all IDs for whether they are expanded or not. This was causing access of freed memory for deleted IDs which do not need CoW (such as IM). Simple fix: store ID type as a scalar and use early check before doing more elaborate check based on accessing fields of id_cow. 2. The code which was ensuring view layer pointer is doing CoW for scene. This isn't an issue on its own, but scene might have an embedded ID such as compositor which was actually traversed by the ID remap routines. This was causing remapping procedure to go into non-updated copy of compositor, accessing freed Viewer image ID. Solved by not recursing into embedded IDs for datablocks as those are supposed to have own copy-on-write operations which takes care of re-mapping. Reported my Bastien, and also pair-coded with him.
2020-03-09Depsgraph: fix crash caused by removing too many NO-OP nodesSybren A. Stüvel
Unused no-op operation nodes are not bound to a callback function, and have no outgoing relations. Incoming relations of such nodes are removed since ff60dd8b18ed00902e5bdfd36882072db7af8735. However, this was done too broadly, causing too many relations to be lost and indirectly linked objects to be unevaluated. This commit introduces a `DEPSOP_FLAG_FAKE_USER` flag for operation nodes, which indicates they are not to be removed, even when they appear to be unused. Reviewed By: sergey Differential Revision: https://developer.blender.org/D7074
2020-03-06Fix T73254: Drivers with the object.dimension variable are not updatedSybren A. Stüvel
This fixes an issue where drivers using `object.dimension` only add a dependency on `GEOMETRY` to the depsgraph, whereas they should also depend on `TRANSFORM`. This patch adds a new no-op operation that depends on the geometry and transform components to the Parameters component. An alternative implementation would be to have `RNANodeQuery::construct_node_identifier` return multiple node identifiers. However, this would spread throughout the depsgraph code and unnecessarily force many other functions to either return or handle multiple nodes where in 99.999% of the time a single node would suffice. The new `DIMENSIONS` node is added for each object. An upcoming patch will go over all no-op operation nodes and remove them from the depsgraph. Since this is a more dangerous operation, it'll be reviewed separately. Differential Revision: https://developer.blender.org/D7031
2020-02-19Fix T73932: modifying keyframes in nodes fails when there is an image sequenceBrecht Van Lommel
Image animation should not be an depsgraph node of type ANIMATION, there is no need for it to be affected by the special casing for that.
2020-02-10Cleanup/refactor: Rename `BKE_library` files to `BKE_lib`.Bastien Montagne
Note that `BKE_library.h`/`library.c` were renamed to `BKE_lib_id.h`/`lib_id.c` to avoid having a too generic name here. Part of T72604.
2020-01-28Cleanup: changed NULL to nullptr in depsgraph C++ codeSybren A. Stüvel
No functional changes.
2020-01-24Depsgrapg: Refactor, move Relation to own fileSergey Sharybin
2019-08-25Cleanup: redundant struct declarationsCampbell Barton
2019-08-01Cleanup: misc spelling fixesCampbell Barton
T68035 by @luzpaz
2019-07-05Depsgraph: Cleanup, more clear namingSergey Sharybin
2019-07-05Depsgraph: Make component traversal more granularSergey Sharybin
Now it is possible to start traversal from a given component.
2019-07-05Depsgraph: Add inverse of node type conversion functionsSergey Sharybin
2019-07-05Depsgraph: Make object component conversion more accessibleSergey Sharybin
2019-07-02Cleanup: spellingCampbell Barton
2019-06-28Fix T62990: Selecting bones causes pose to be re-evaluatedSergey Sharybin
2019-06-12Cleanup: spelling in commentsCampbell Barton
2019-06-11Fix T65626: Use Nodes checkbox locks after being checked with "insert keyframe"Sergey Sharybin
Not sure if this is something what is supported by render pipeline, but this report discovered some actual error in logic.
2019-06-05Sound: Port to a copy-on-write conceptSergey Sharybin
This change makes it so sound handles are created for evaluated scene, sequencer and speakers. This allows to have properly evaluated animation on them. For the viewport playback sound uses regular dependency graph. For the final render sound uses dependency graph created for render pipeline, which now also contains sequencer and sound datablocks. All the direct sound update calls are replaced with corresponding dependency graph recalc tag.
2019-06-04Depsgraph: Only run editors ID update on manual editsSergey Sharybin
This is how it worked in 2.79 and it is how it is expected to be working. Avoids unintended icons update during animation playback. Fixes T64318: Update of material icons during animation 2x performance penalty
2019-05-07Sound: Revert all the recent changes to soundSergey Sharybin
This happened to be a bigger rabbit hole to hell than it originally seemed, and there are higher priority design tasks to be handled (at this point high priority design task is more important than high priority bug fix). After talking to Brecht the decision was made to revert to the known isolated issue, which will allow everyone in the studio work same as prior to last Friday. The remaining bits will be worked on after all the design tasks are out of the way. This commit reverts: 4cdb4b9532c Fix T64161: Crashing using undo and multiple windows 064273a4ae7 Sound: Port more cases to be a part of dependency graph 2e582f8ab53 Sound: Fix access wrong dependency graph 5fc49d9c915 Sound: add stubs to build without audaspace c68c81a870b Sound: Make sure spin lock is initialized for new sound datablocks c02534469ac Sound: Delay creating sound scene handle for until is needed 9f681bea68f Fix T64144: Crash when displaying audio waveforms in VSE 2f79286453e Cleanup: unused vars bed8ad6f95a Fix crash in background rendering after recent sound changes 773691310f9 Fix T64143: Crash when scrubbing in the graph editor 888852055c1 Sound: Fix for being unable to jump to a frame during playback with A/V sync 6ab7b384645 Sound: More fixes for access of original scene 35db1195455 Sound: Fix access original scene during playback 211c4fd2e9a Depsgraph: Make comment about evaluation more obvious c5fe16e121e Sound: Make sound handles only be in evaluated datablocks b4e1e0946bf Depsgraph: Preserve sound and audio pointers through copy-on-write 4eedf784b04 Depsgraph: Store original sequencer strip pointer 6990ef151c1 Sound: Move evaluation to dependency graph d02da8de23b Sound: Delay opening handlers for until really needed 3369b828916 Depsgraph: Add scene audio component e8f10d64757 Depsgraph: Tag sequencer for update on changes 6e4b7a6e4d9 Depsgraph: Initial work to cover sequencer 17447ac5a6b Depsgraph: Make sound ID part of the graph
2019-05-03Depsgraph: Initial work to cover sequencerSergey Sharybin
Just adds sequencer operation and links possible sound ID to it. No functional changes, just moving towards sound system integration into the dependency graph.