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
2021-07-23Cleanup: code comments punctuation / spacingCampbell Barton
2021-07-15Cleanup: replace BLI_assert(!"text") with BLI_assert_msg(0, "text")Campbell Barton
This shows the text as part of the assertion message.
2021-06-13Cleanup: redundant initializationCampbell Barton
These were limited to obvious cases. Some less obvious cases were kept as refactoring might make them necessary in future.
2021-05-21Depsgraph: remove mesh edit-mode pointer duplicationCampbell Barton
Share the pointer with the original mesh instead, this matches behavior of all other objects edit-mode data. Duplicating the edit-mesh pointer makes updates to edit-mesh require a COPY_ON_WRITE update, which is currently an expensive operation (copying the entire mesh). Notes: - This change is from 802027f3f8f9a83a77134a2b104a25ff3a4ac013 so the edit-meshes object pointer `BMEditMesh.ob` referenced the COW version of the object. This pointer has since been removed, so the copy is no longer needed. - Having a separate edit-mesh pointer could be used so linked duplicates could have their own generated meshes. For this to be supported, many other changes would be needed: see D10920.
2021-05-18Fix T88026: Repeated switch to rendered viewport crashesCampbell Barton
Resolve ownership ambiguity with shared physics pointers. Previously, LIB_ID_CREATE_NO_MAIN allowed pointer sharing with the source ID so physics caches can be shared between original and evaluated data: (Object.soft.shared & Object.rigidbody_object.shared). This only worked properly for LIB_TAG_COPIED_ON_WRITE ID's, as LIB_TAG_NO_MAIN can be used in situations where the original ID's lifetime limited by it's original data. This commit adds `LIB_ID_COPY_SET_COPIED_ON_WRITE` so ID's only share memory with original data for ID's evaluated in the depsgraph. For all other uses, a full copy of physics data is made. Ref D11228#287094
2021-04-08Fix T87232: Crash when evaluating object with unsupported modifierSybren A. Stüvel
Fix `nullptr` redeference when setting 'orig_data' pointers on CoW copies, by stopping the loop also when `element_cow == nullptr`. This avoids a crash of Blender when the original list of pointers is longer than the CoW list of pointers. I've also added a `BLI_assert()` that checks for equal lengths of the two `ListBase`s, so that problems like these aren't hidden away completely. The root cause of the crash was actually a modifier that was assigned to an object of the wrong type (an Armature object doesn't support modifiers). This caused the list of modifiers on the CoW copy to be shorter than the list of modifiers on the original Object. It's still a mystery how that object got that modifier in the first place.
2020-12-19Cleanup: Split SEQ_sequencer.h fileRichard Antalik
2020-12-19Cleanup: Rename BKE_sequencer functionsRichard Antalik
API functions get SEQ_ prefix. Intern functions get seq_ prefix Functions also have appropriate category included in name.
2020-11-07Cleanup: Clang-tidy, modernize-concat-nested-namespacesAnkit Meel
2020-11-06Cleanup: Clang-Tidy modernize-use-nullptrSybren A. Stüvel
Replace `NULL` with `nullptr` in C++ code. No functional changes.
2020-11-01Rename BKE_sequencer.hRichard Antalik
Reviewed By: sergey Differential Revision: https://developer.blender.org/D9349
2020-10-19Spelling: MiscellaneousHarley Acheson
Corrects 34 miscellaneous misspelled words. Differential Revision: https://developer.blender.org/D9248 Reviewed by Campbell Barton
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-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-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-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-04Merge branch 'blender-v2.90-release'Sergey Sharybin
2020-08-04Pose channel: Add session UUIDSergey Sharybin
Allows to identify pose channels more reliably than by the pointer.
2020-07-31Merge branch 'blender-v2.90-release'Sergey Sharybin
2020-07-31Cleanup: Remove unused original pointer in SequenceSergey Sharybin
2020-07-31Depsgraph: Add command line argument to debug UUIDsSergey Sharybin
Will trigger code paths which makes sure UUIDs are generated and are unique. Enabled with --debug-depsgraph-uuid (which is also implied by --debug-depsgraph).
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-09Particles: Create a simulation state for every Particle Simulation nodeJacques Lucke
Every Particle Simulation node has a name (or a path when it is in a node group). This name has to be used in the Simulation modifier on a point cloud to see the particles. Caching has been disabled for now, because it was holding back development a bit. To reset the simulation, go back to frame 1. Currently, there is no way to influence the simulation. There are just some randomly moving points. Changing that is the next step.
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-06-29Depsgraph: introduce blender::deg namespaceJacques Lucke
Reviewers: sergey Differential Revision: https://developer.blender.org/D8150
2020-06-08Simulations: initial simulation state and cacheJacques Lucke
The current particle state is stored in a `CustomData` instance and the cache is stored in `PointCache`. The current state exists on the copy-on-write copies of the simulation, while the cache only exists in the original data block. This patch implements a temporary trivial particle simulation that does not use the node system yet. It is used for testing and will be replaced soon. `PointCache` still has some limitations that need to be overcome using separate refactorings. For example, we need to be able to store the number of particles in the point cache. Also we need to change which attributes are stored for a particle system more dynamically than is currently possible afaik. Reviewers: brecht Differential Revision: https://developer.blender.org/D7836
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-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-23Revert "COW: Edit Mesh: Do not copy the looptris pointer"Germano Cavalcante
The looptri is repeated in the linked Meshes but the pointer is only referenced in the evaluated ones. This reverts commit 64982e213f014123d1b0406cf9ae893910a6a3d3.
2020-03-23COW: Edit Mesh: Do not copy the looptris pointerGermano Cavalcante
No functional changes. Differential Revision: https://developer.blender.org/D7173
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-11EEVEE: Replace octahedron reflection probe by cubemap arrayClément Foucault
We implement cubemap array support for EEVEE's lightcache reflection probes. This removes stretched texels and bottom hemisphere seams artifacts caused by the octahedral projection previously used. This introduce versioning code for the lightcache which will discard any lightcache version that is not compatible. Differential Revision: https://developer.blender.org/D7066
2020-03-09GPencil: Refactor of Draw Engine, Vertex Paint and all internal functionsAntonio Vazquez
This commit is a full refactor of the grease pencil modules including Draw Engine, Modifiers, VFX, depsgraph update, improvements in operators and conversion of Sculpt and Weight paint tools to real brushes. Also, a huge code cleanup has been done at all levels. Thanks to @fclem for his work and yo @pepeland and @mendio for the testing and help in the development. Differential Revision: https://developer.blender.org/D6293
2020-02-28Objects: make evaluated data runtime storage usable for types other than meshBrecht Van Lommel
This is in preparation of new object types. This only changes mesh_eval, we may do the same for mesh_deform_eval and other areas in the future if there is a need for it. This previously caused a bug in T74283, that should be fixed now. Differential Revision: https://developer.blender.org/D6695
2020-02-28Revert "Objects: make evaluated data runtime storage usable for types other ↵Brecht Van Lommel
than mesh" This reverts commit f2b95b9eae2ee913c99cff7595527b18d8b49d0a. Fix T74283: modifier display lost when moving object in edit mode. The cause is not immediately obvious so better to revert and look at this carefully.
2020-02-27Objects: make evaluated data runtime storage usable for types other than meshBrecht Van Lommel
This is in preparation of new object types. This only changes mesh_eval, we may do the same for mesh_deform_eval and other areas in the future if there is a need for it. Differential Revision: https://developer.blender.org/D6695
2020-02-13Refactor libquery ID looper callback to take a single parameter.Bastien Montagne
Using a struct here allows to change given parameters to the callbacks without having to edit all callbacks functions, which is always noisy and time consuming.
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: reformatted after NULL -> nullptr in depsgraph C++ codeSybren A. Stüvel
No functional changes.
2020-01-28Cleanup: changed NULL to nullptr in depsgraph C++ codeSybren A. Stüvel
No functional changes.
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-07BMesh: remove BMEditMesh.ob pointerCampbell Barton
Remove this pointer since it's linking Mesh data back to the object, where a single edit-mesh may have multiple object users, causing incorrect assumptions in the code. Resolves dangling pointer part of the T72667 crash, although there are other issues which still need to be fixed. In EDBM_op_finish and EDBM_update_generic, full Main lookups have been added which should be replaced with mesh argument or the update tagging moved elsewhere.
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-29Depsgraph: Refactor, split runtime backup into smaller filesSergey Sharybin
It started to be a long code of all various cases in a single file, which started to be really confusing.
2019-11-24Cleanup: spelling, repeated wordsCampbell Barton
2019-10-18Fix T70919: Proxies crash after building motion pathSergey Sharybin
Was cause by recent fix for T65134 which assigned original object's proxy_from to an evaluated pointer. This is because motion path depsgraph does not include proxies, so the pointer in an evaluated object was kept pointing to an original object.
2019-08-11Cleanup: spellingCampbell Barton
2019-07-15Fix T66686: Crash on Particle Edit, then RenderSergey Sharybin
Reviewers: brecht, zeddb Reviewed By: brecht Maniphest Tasks: T66686 Differential Revision: https://developer.blender.org/D5259
2019-07-12Fix T66747: Active bone not showing in edit-modeCampbell Barton