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-06-22Blender v2.93.1 release version bump.v2.93.1Jeroen Bakker
2021-06-16Fix modifier deform by armature check ignoring virtual modifiersCampbell Barton
Regression in f00cb93dbec7bf5dc05302c868f20fcd5aed7db7 (fix for T63125)
2021-06-09Texture Paint: changing paint slots and viewport could go out of syncPhilipp Oeser
When changing to another texture paint slot, the texture displayed in the viewport should change accordingly (as well as the image displayed in the Image Editor). The procedure to find the texture to display in the viewport (BKE_texpaint_slot_material_find_node) could fail though because it assumed iterating nodes would always happen in the same order (it was index based). This is not the case though, nodes can get sorted differently based on selection (see ED_node_sort). Now check the actual image being referenced in the paint slot for comparison. ref T88788 (probably enough to call this a fix, the other issue(s) mentioned in the report are more likely a feature request) Reviewed By: mano-wii Maniphest Tasks: T88788 Differential Revision: https://developer.blender.org/D11496
2021-06-09Fix T88666: Cryptomatte: EXR sequence does not update when scrubbing the ↵Jeroen Bakker
timeline. Cause is that initializing the cryptomatte session would reset the current frame of an image sequence. The solution is to always use the scene current frame so it resets to the correct frame. This was a todo that wasn't solved after it landed in master. Needs to be backported to 2.93.
2021-06-09Fix T88531: Mantaflow problem with geometry nodesPhilipp Oeser
Objects modified by geometry nodes modifiers were not caught as being "dynamic". Now add this modifier type to the list of modifiers making them "dynamic" in the eyes of mantaflow. (noticed by @sebbas in chat) Maniphest Tasks: T88531 Differential Revision: https://developer.blender.org/D11389
2021-06-09Fix T88566: Mantaflow inflow with shapekeys is not working anymorePhilipp Oeser
(regression) Code was actually checking for shapekeys, but these were not detected properly (some effects like shape keys are added as virtual modifiers before the user created modifiers) Now go over virtual modifiers as well. Maniphest Tasks: T88566 Differential Revision: https://developer.blender.org/D11388
2021-06-02Versionbump: 2.93.1 candidate.Jeroen Bakker
2021-06-01Blender version bump 2.93 release.Jeroen Bakker
2021-05-31Fix (studio-reported) crash in collection management code.Bastien Montagne
Code checking for potential collection loop dependencies can be called in cases where we cannot guarantee that there is no NULL pointers, so we need to check those. Was already done for objects. NOTE: doubled-checked by @jbakker, thanks.
2021-05-26Fix: GPencil mask shows in view layer renderFalk David
Currently when rendering the view layer of a grease pencil layer that has a mask layer attached, the mask layer would show in the rendered image. This is inconsistent with the default behaviour with no mask on the grease pencil layer, because it would only render what's on that particular layer and not anything from any other layer. This patch makes the masks invisible in the render. Note: This might seem like not the best solution, but because masks are just regular grease pencil layers, it's tricky to pass this edge-case to the drawing code. The way it is handled right now is the best I could come up with, without making changes that could affect something else. Reviewed By: antoniov Maniphest Tasks: T88202 Differential Revision: https://developer.blender.org/D11403
2021-05-20Fix T87854: Add clamp option to Path AnimationSebastian Parborg
Previously, the "follow path constraint" and "follow parented curve" were clamped. This restriction was lifted in rBcf2baa585cc8 Add back an option to get the old behavior in the "Path animation" settings. Reviewed By: Sybren Differential Revision: http://developer.blender.org/D11263
2021-05-18Fix ocean modifier giving different result on Arm than x86Brecht Van Lommel
And re-enable the test on macOS Arm. Ref T78710
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-05-18Cleanup: clang-formatCampbell Barton
2021-05-17Fix T86278: vertex color baking not working with modifiersBrecht Van Lommel
As in the old Blender Internal baking code, this still relies on there being a good mapping to the original vertices.
2021-05-14Fix T87360 Multi input links aren't placed correctly when created with pythonFabian Schempp
link->multi_input_socket_index, which is used to calculate the links position on the multi-input socket, was not set. Now it is set to the sockets current link count. Review: Jacques Lucke (JacquesLucke) Differential Revision: https://developer.blender.org/D11082
2021-05-12Fix T81247: Constrain selected UVs to correct UDIMSiddhartha Jejurkar
With Constrain to Image Bounds selected, UVs will be constrained to the correct/closest UDIM if the image is tiled. UVs will be constrained to the 0-1 UV space if the image is not tiled. This will override the present behavior of always constraining selected UVs to the 0-1 UV space (UDIM 1001). Reviewed By: campbellbarton Ref D11202
2021-05-10Fix T88145: Dynamic Paint initial color using vertex color not working as ↵Philipp Oeser
expected Mistake in {rBe48c4d73d378}. Was using the vertex index as a lookup for the loop color (instead of the loop index). (Issue was not present in original D1429 btw). Maniphest Tasks: T88145 Differential Revision: https://developer.blender.org/D11212
2021-05-07Fix: No sound is exported with ffmpeg 4.4Sebastian Parborg
We were not assigning the amount of sound channels to the output frames. Newer ffmpeg releases has sanity checks in place and doesn't fall back to two channels anymore.
2021-05-07LibOverride: more tweaking to handling of obsolete overrides during resync.Bastien Montagne
this is a followup to rB2bd85d9cc623, we cannot forcefully delete obsolete overrides of object data (meshes etc.), as this implies also deleting their user object, which might still be a perfectly valid override, albeit in conflict regarding its obdata ID pointer...
2021-05-07LibOverride: Fix many 'obsolete' overrides not being properly deleted.Bastien Montagne
Code detecting overrides which reference linked data is missing was actually missing many cases, leading to too much garbage data being kept around after resync process.
2021-05-07Fix inconsistency setting particle edit-modeCampbell Barton
The check to include particle edit mode in the object-mode drop-down didn't match the poll function to edit particle edit mode. Share the check between both functions.
2021-05-06Fix T88065: Spline-IK bone position calculation fails in some casesSebastian Parborg
Fix trying to use cross product on parallel vectors. Fix intersection checks failing because we run into floating point issues with very small numbers.
2021-05-06LibOverride: Better handling of 'orphaned' Objects in override creation.Bastien Montagne
One of current annoying limitations of Blender re Collections/Objects is that objects are forbidden to not be instantiated in at least one collection. Code ensuring that as a pst-processing step of override creation/resync operations would be a bit too eager to add those objects to an external 'ad-hoc' collection, which poses several issues (both in term of keeping the scene well organized, and related to override hierarchy handling). So now be very conservative and only generate and use external 'storage' collection for those objects when it is absolutely mandatory. In pratice, it means this should never happen anymore on any decently organized data source.
2021-05-06Fix T88030: operator showing options it shouldntPhilipp Oeser
Caused by {rB0d9f79b163ee}. IDP_SyncGroupTypes was now syncing from src to src (leading to unexpected operator properties). Assume this is rather critical, dont know the part of the code well, but above commit clearly shows a change from 'dest->data.group' to 'src- >data.group' which shouldnt be there. Maniphest Tasks: T88030 Differential Revision: https://developer.blender.org/D11171
2021-05-05LibOverride: More fixes to properly ignore non-overridable ID pointers.Bastien Montagne
2021-05-05LibOverride: Tag base's object pointer as not overridable.Bastien Montagne
2021-05-05LibQuery: Cleanup: Document more fields of `LibraryForeachIDData` struct.Bastien Montagne
2021-05-05LibOverride: Fix usage of IDProps that are not overridable.Bastien Montagne
Not all python-defined ID properties are overridable (yet), this needs to be detected by libquery 'foreach id' code, such that those ID pointers can be ignored by override code when working on override hierarchies. Fixes part of the issues found while investigating studio files (namely, some py-defined ID pointer properties from rigify that are not currently overridable would cause issues and false detections during resync).
2021-05-05LibOverride/LibQuery: Refactor 'non-overridable' status management.Bastien Montagne
Move the detection/decision of whether an ID pointer should be taken into account in library override hierarchy processing to the LibQuery area of code, by introducing a new callback flag. This allows to factorize the test logic, be explicit in liboverride code about ID relationships that can be ignored when exploring the override hierarchy, and adds the possibility to do more checks about pointers to be tagged as non-overridable in the future. Note that all but the 'special' ID pointers (loop-back, embedded, etc.) should be overridable. If some is not, relevant IDType 'foreach_id' callback code is reponsible to tag it properly. Python-defined IDProperties however are not systematicaly overridable (yet), so this should allow us to detect that case and act accordingly in an incomming commit. No behavioral change expected in this commit.
2021-05-04Fix T87489: Text Data-Blocks get deleted on Recursive PurgeSebastian Parborg
Text data block were not considered special in the recursive purge function. So they would get deleted if they had no actual users. To fix this we instead make text data block use "fake user" so that addon authors can specify script files that should be removed if nothing is using it anymore. Per default, new text object have "fake user" set. So functionality wise, the user has to explicitly specify that they want the text object to be purge-able. Reviewed By: Bastien Differential Revision: http://developer.blender.org/D10983
2021-05-02GPencil: Fix unreported problem when save file in Curve Edit modeAntonio Vazquez
This is related to T87905
2021-05-01Fix T87905: GPencil modifiers not applied if saved with multiframeAntonio Vazquez
When saving a file in Edit mode with Multiframe enabled, the render did not include the modifiers. Now the multiframe is not enabled if it's doing a render.
2021-04-30LibOverride: Fix infinite resync loop in some invalid file cases.Bastien Montagne
Multi-overrides of a same linked ID in a same override hierarchy are currently not supported and can cause all kind of issues. In some cases they could lead to infinite loop trying to resync the same ID over and over, this is now prevented. Found in some Blender studio production files.
2021-04-29Fix: crash when creating GPU texture from image failsBrecht Van Lommel
2021-04-29Fix T87592: Mirror fail with bisect, axis object & non-uniform scaleCampbell Barton
Bisect-plane calculation needed to take non-uniform scale into account.
2021-04-28Fix T87718: Fill triangles wrongly calculatedFalk David
The algorithm that calcualted the direction (inside/outside) of the polyline was not always returing the correct result. This mean that the polyline was filled "inside-out". The fix uses the winding number to calculate the inside and outside. Reviewed By: antoniov, pepeland Maniphest Tasks: T87718 Differential Revision: https://developer.blender.org/D11054
2021-04-28Fix T87876: vertex groups missing when mesh is in edit modeJacques Lucke
Differential Revision: https://developer.blender.org/D11107
2021-04-28Fix T87631: Crash undoing edit-mode bone duplicationCampbell Barton
Edit mode could leave pose channels in the object that didn't have an associated bone. These are now cleared when freeing edit-mode data.
2021-04-27Fix T85889: recursive instances result in crashJacques Lucke
Generally, it would be good to not allow this from happening in the first place but that is quite tricky because an object does not know which other object instances it. Similar checks might be necessary in other places, but this fixes the bug already. Differential Revision: https://developer.blender.org/D11086
2021-04-26Depsgraph: support depending on collection geometryJacques Lucke
This fixes T87666 and T83252. The boolean modifier and geometry nodes can depend on the geometry of an entire collection. Before, the modifiers had to manually create relations to all the objects in the collection. This worked for the most part, but was cumbersome and did not solve all issues. For example, the modifiers were not properly updated when objects were added/removed from the referenced collection. This commit introduces the concept of "collection geometry" in the depsgraph. The geometry of a collection depends on the transforms and geometry of all the objects in it. The boolean modifier and geometry nodes can now just depend on the collection geometry instead of creating all the dependencies themselves. Differential Revision: https://developer.blender.org/D11053
2021-04-26Fix (unreported): Geometry nodes instance ids not copied or clearedHans Goudey
Though to my knowledge we haven't had a report about this yet, this looks like a clear oversight-- the ids are just more data stored by the instances component, and should be cleared and copied like other data. This might have resulted in incorrect random IDs for instances in renderers in some cases where the component had to be copied.
2021-04-25Fix unreported "Convert Mesh to Gpencil" when fill material already existsErik Abrahamsson
If an object named for example `Suzanne` is converted to Gpencil, a material called `Suzanne_Fill` will be created for the gpencil fill. When this material already exists, the new material will be called `Suzanne_Fill.001` and the operator will not see that this material is already present the next iteration. This leads to a new material being created for every polygon. This commit changes the code to search for a material starting with `ObjectName_Fill` instead of being equal to. Reviewed By: filedescriptor, antoniov Differential Revision: https://developer.blender.org/D11067
2021-04-23Fix bug/crash in ID bulk deletion code.Bastien Montagne
This is complex situation. Tagged ID deletion (used to delete several data-blocks at once) removes IDs to be deleted from Main. But when we remove deleted IDs' usages of other IDs (using `BKE_libblock_relink_ex`), some specific post-process is required on some types, like Collections. Those post-processes would in some cases rely on data actually being in Main. That failing condition would lead in existing code on missing processing the very ID (collection) we were working on, leading to missing removing some child collection pointers, leading to the crash (later on in LayerCollection resync process). For now we go with an optimization & fix that avoids processing all collections in Main when we actually know which one we are working one (case of `BKE_libblock_relink_ex`, but not of `BKE_libblock_remap_locked`). This is however yet another demonstration of the need to rework that whole collection/layer resync process, since it is not only extremely inneficient currently, but it also requires valid Main/ID state way too deep into the remapping code. NOTE: This fix may very well not catch/address all possible fail cases here, dealing with the double parent/child relationships of collections is challenging... Issue reported by @eyecandy from the studio, thanks.
2021-04-23Fix T87582: incorrect interpolation from edge to corner domainJacques Lucke
2021-04-22Fix T85051: Add bisect distance as a parameter to the mirror modifierFalk David
The `bisect_distance` in the mirror modifier was hard-coded to `0.001`. This would result in some unexpected behavior like vertices close to the mirror plane being deleted or merged. The fix now adds a parameter to the mirror modifier to expose the bisect distance to the user. The default is set to the previous hard-coded value to not "change" previous files. Ref D10201
2021-04-20Fix T86871: Crash with to_mesh() on tapered bezier curveCampbell Barton
2021-04-20Fix T87055: Crash applying modifier on mesh with multires dataCampbell Barton
2021-04-19Fix crash with Alembic export after recent persistent data bugfixBrecht Van Lommel
We weren't clearing the recalc flags for that case.
2021-04-19Fix T87535, T87295: issues with new persistent data optionBrecht Van Lommel
Some persistent data code was disable due to a deeper design issue, which meant some updates were not communicated to renderers. Dependency graph updates work in two passes, once where Blender scene animation updates are done, then app handler scripts can run to make further scene modifications, and then the depsgraph is updated again to take those into account. Previously the viewport would update renderers twice when such app handler scripts were present. Now both viewport and persistent data rendering update the renderers only once, accumulating updates from both passes.