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-06-02Depsgraph: Remove unneeded `RNA_path_resolve`Jeroen Bakker
Found during research of {T77124}. In `build_driver_data` an identical RNA_path is resolved twice. In stead of resolving it twice this patch will construct the `property_exit_key` based on the resolution of `property_entry_key`. This change isn't noticeable for users. Just a cleanup as it isn't needed to do the same logic twice. Reviewed By: Sergey Sharybin Differential Revision: https://developer.blender.org/D7872
2020-06-02Merge branch 'blender-v2.83-release'Bastien Montagne
2020-06-02Cleanup: use C++'s nullptr instead of our own C NULL define, in C++ code.Bastien Montagne
2020-06-02Merge branch 'blender-v2.83-release'Bastien Montagne
2020-06-02Fix T77192: Crash when opening bunny.blend file.Bastien Montagne
New depsgraph code handling drivers was not checking for possible NULL rna_path, as done everywhere else in code...
2020-05-28Fix T65889: Hair Particles not updating when using image sequenceSergey Sharybin
2020-05-28Depsgraoh: Fix missing texture node allocationSergey Sharybin
It was causing wrong binding for image animation: since there was no ID node for texture at the moment of build_animdata original texture ID was passed to the callback. This is not what is supposed to happen. This is part of fix for T65889.
2020-05-28Cleanup: spellingCampbell Barton
2020-05-25Simulations: pass simulation data block to update functionJacques Lucke
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-19Merge branch 'blender-v2.83-release'Philipp Oeser
2020-05-19Fix T76689: Armature layers not indicating the existence of bonesSybren A. Stüvel
From what I can see, there are two issues at play in {T76689} and its merged-in report {T76590}: - In Blender ≤ 2.79 the bone layer dots were updated in the draw code. This ensured the info was up to date before drawing. This is no longer possible, as the drawing code uses evaluated objects, and those should not be written to. This has been addressed in rB709f126e8143 by calling the update function explicitly in various places in the code. The problem is that this wasn't added to all necessary spots. - When in edit mode, changes are made to the edit bones but not to the 'actual' bones (this is synced when exiting edit mode). This causes undo to mess up the layer indicators. I think both issues can be addressed by having the dependency graph update the used layer info as part of the armature evaluation. This will make the undo system work properly, and allows the removal of some `BKE_armature_refresh_layer_used()` from various places. There is still the issue that there are two functions (`BKE_armature_refresh_layer_used()` and `ED_armature_edit_refresh_layer_used()`) that are both responsible for updating `bArmature::layer_used`. This is a trickier thing to solve, though, as the definition of the `EditBone` struct resides in the armature editor module. This means that blenkernel can't iterate over edit bones, but on the other hand the dependency graph shouldn't call any editor functions either. This is why I left the `ED_armature_edit_refresh_layer_used()` calls untouched. The downside of recalculating `layer_used` from the dependency graph (at least in the way that I did it now) is that it is called every time a user moves a bone in pose mode. This frequency of updates is not necessary. Differential Revision: https://developer.blender.org/D7709
2020-05-14Fluid: Rename smoke flow forces to fluid flow forcesSebastián Barschkis
Better to use more general term since in theory these forces can be used for smoke and liquid.
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-09Cleanup: doxy commentsCampbell Barton
2020-05-09Cleanup: spellingCampbell Barton
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-05-08GPencil: Refactor - Rename modifier and shder functionsAntonio Vazquez
This change is to align names with changes in T76498
2020-05-08Fix T76498: Refactoring - Rename BKE modifiers funtionsAntonio Vazquez
2020-05-06Depsgraph: Fix memory leakJacques Lucke
I introduced the issue in rBb21a3e77027.
2020-05-04Merge branch 'blender-v2.83-release'Sergey Sharybin
2020-05-04Fix T76251: Animated procedural texture does not influence particle systemLuc Revardel
Dependancy missing while building depsgraph for particle systems. fix: adding a relation texture->particles when texture has animation data. Reviewed By: sergey Maniphest Tasks: T76251 Differential Revision: https://developer.blender.org/D7573
2020-05-04Merge remote-tracking branch 'origin/blender-v2.83-release'Sybren A. Stüvel
2020-05-04T76121 Driver depending on animated modifier property does not updateSybren A. Stüvel
This fixes an issue where an animated modifier property that's used as variable in a driver wouldn't animate that driver's value. Building the relations for the driver target creates the relation `PARAMETERS_EVAL` → `DRIVER(variable)`. Building the relations for the FCurve targeting the modifier property creates the relation `ANIMATION_EXIT` → `GEOMETRY_EVAL_INIT`. This means that there is NOT a relation `ANIMATION_EXIT` → `PARAMETERS_EVAL`, and as a result, the driver is not properly updated when its variable reads animated data. This is resolved in this commit by adding the missing relation. Differential Revision: https://developer.blender.org/D7615
2020-05-01Cleanup: moved drivers to BKE_fcurve_driver.h / fcurve_driver.cSybren A. Stüvel
All the driver-specific code in `fcurve.c` has been moved into a new file `fcurve_driver.c`. The corresponding declarations have been moved from `BKE_fcurve.h` to `BKE_fcurve_driver.h`. All the `#include "BKE_fcurve.h"` statements have been investigated and replaced with `BKE_fcurve_driver.h` where necessary. No functional changes.
2020-04-30Task: Use TBB as Task SchedulerBrecht Van Lommel
This patch enables TBB as the default task scheduler. TBB stands for Threading Building Blocks and is developed by Intel. The library contains several threading patters. This patch maps blenders BLI_task_* function to their counterpart. After this patch we can add more patterns. A promising one is TBB:graph that can be used for depsgraph, draw manager and compositor. Performance changes depends on the actual hardware. It was tested on different hardwares from laptops to workstations and we didn't detected any downgrade of the performance. * Linux Xeon E5-2699 v4 got FPS boost from 12 to 17 using Spring's 04_010_A.anim.blend. * AMD Ryzen Threadripper 2990WX 32-Core Animation playback goes from 9.5-10.5 FPS to 13.0-14.0 FPS on Agent 327 , 10_03_B.anim.blend. Reviewed By: brecht, sergey Differential Revision: https://developer.blender.org/D7475
2020-04-29Depsgraph: use native BLI data structures in registryJacques Lucke
Reviewers: sergey Differential Revision: https://developer.blender.org/D7559
2020-04-29Cleanup: use const args for depsgraph functionsCampbell Barton
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 for constraint_to_pchan_map_Jacques Lucke
Reviewers: sergey Differential Revision: https://developer.blender.org/D7553
2020-04-28Depsgraph: use BLI::Set for entry_tagsJacques Lucke
Reviewers: sergey Differential Revision: https://developer.blender.org/D7555
2020-04-28Depsgraph: use BLI::Map in RootPChanMapJacques Lucke
Reviewers: sergey, sybren Differential Revision: https://developer.blender.org/D7521
2020-04-28Merge branch 'blender-v2.83-release'Bastien Montagne
Conflicts: source/blender/blenkernel/intern/lib_query.c source/blender/depsgraph/intern/builder/deg_builder_relations.cc
2020-04-28Depsgraph: Add IDProperties handling.Bastien Montagne
Fix T75279: BLI_assert failed when deleting object in debug build (only). And all general cases of ID pointer idproperties that would use a data-block not referenced anywhere else in the depsgraph. This includes idproperties from: * All ID types; * Bones and pose bones; * Sequences; * Nodes and sockets. Differential Revision: https://developer.blender.org/D7551
2020-04-28Depsgraph: Use BLI::Map in more placesJacques Lucke
Reviewers: sergey Differential Revision: https://developer.blender.org/D7519
2020-04-28Depsgraph: Use BLI::Map for RNANodeQuery.id_data_map_Jacques Lucke
Reviewers: sergey Differential Revision: https://developer.blender.org/D7512
2020-04-25Merge branch 'blender-v2.83-release'Nathan Craddock
2020-04-24Fix T69753 Instanced Metaballs not rendering but showing up in ViewportSybren A. Stüvel
This hides the original metaballs when they are used in duplifaces/-verts instancing, and still shows the instanced metaballs. The visibility of the original metaballs is now determined by the visibility of the instancer. I'm not too thrilled about this, but at least it gives users the ability to show/hide the metaballs for viewport/render. Differential Revision: https://developer.blender.org/D7478
2020-04-24Depsgraph: Use BLI::Map instead of GHash for operations_mapJacques Lucke
Reviewers: sergey Differential Revision: https://developer.blender.org/D7509
2020-04-24Depsgraph: Use BLI::Set instead of std::unordered_setJacques Lucke
Reviewers: sergey Differential Revision: https://developer.blender.org/D7506
2020-04-24Cleanup: remove unused arg, clang-formatCampbell Barton
2020-04-23Cleanup: silence unused parameter warningJacques Lucke
2020-04-23Merge branch 'blender-v2.83-release'Brecht Van Lommel
2020-04-23Fix T75611: slow transform of many objects at the same timeBrecht Van Lommel
Solve O(n^2) time complexity problem where a dependency graph iterator loops over all nodes to clear flags, which happened for every object at the start of transform. Differential Revision: https://developer.blender.org/D7503
2020-04-21CleanUp: Renamed `BLI_task_pool_userdata` to `BLI_task_pool_user_data`Jeroen Bakker
In preparation for {D7475}
2020-04-21Fix T75845: some dependencies update missing when painting textures.Luc Revardel
issue: Painting a texture that is set as a particle system influencer, doesn't update particles. An external trigger (such as changing influence slider) is required to update particles. fix: The root cause is a missing relationship from image to texture in the dependency graph. test: Once fixed, image texture painting updates expected dependencies such as particle system influence or displacement modifier. Reviewed By: sergey Maniphest Tasks: T75845 Differential Revision: https://developer.blender.org/D7472
2020-04-20Simulations: Add new simulation data blockJacques Lucke
This data block will be the container for simulation node trees. It will be used for the new particle node system (T73324). The new data block has the type `ID_SIM`. It is not visible to users and other developers by default yet. To enable it, activate the cmake option `WITH_NEW_SIMULATION_TYPE`. New simulation data blocks can be created by running `bpy.data.simulations.new("name")`. Reviewers: brecht Differential Revision: https://developer.blender.org/D7225
2020-04-17Merge remote-tracking branch 'origin/blender-v2.83-release'Sybren A. Stüvel