Blender Git Commits

Blender Git "master" branch commits.

Page: 427 / 5574

January 19, 2021, 01:45 (GMT)
Merge branch 'blender-v2.92-release'
January 19, 2021, 01:20 (GMT)
Fix T66681: Blender 2.7x keymap inconsistencies

Match Blender 2.7x keymap more closely.

- Image Editor: F3 for save image as.
- Node Editor: Ctrl-LMB to cut links.
- Cycle the falloff types instead of showing a pie-menu.
- Use regular menu instead of pie menu for snapping.
Revision 09c7c63 by Hans Goudey
January 18, 2021, 23:28 (GMT)
UI Code Quality: Use "params" struct for area and region callbacks

These functions with many arguments can be unwieldy. Aside from the obvious issues
with rewriting the list of arguments and the opportunities for error and frustration
that presents, the long list of arguments make these systems hard to change. So when
an argument should be added, someone might skip that and add some hack instead.

So, as proposed in T73586#1037210, this patch instead uses a "params" struct for
each of these callbacks.

- Use param argument for `ARegionType.listener`
- Remove unused window field in region listener
- Use param argument for `SpaceType.listener`
- Use params struct for `ARegionType.message_subscribe`

Differential Revision: https://developer.blender.org/D9750
Revision 4b4aec2 by Hans Goudey
January 18, 2021, 20:21 (GMT)
Cleanup: Clang tidy else after return
Revision bfa083f by Hans Goudey
January 18, 2021, 18:48 (GMT)
Cleanup: Clang tidy else after return
January 18, 2021, 17:08 (GMT)
Merge branch 'blender-v2.92-release'
January 18, 2021, 17:08 (GMT)
Armature: fix B-Bone deformation blending artifacts with Preserve Volume.

The double quaternion blending method in addition to the deformation
matrix of each bone requires their rest matrices. For ordinary bones
this literally should use the bone rest matrix without any ambiguity.

However, it was also using the bone rest matrix for all of its
B-Bone segments, which is incorrect and causes strange deformation
in some cases involving extreme non-uniform scale, especially
at boundaries between different B-Bones. There is also a similar
known issue that happens with scale at bending joints, and this
fix reduces the distortion when both bones are B-Bones.

This changes both the Armature modifier and the Armature constraint
to use the actual segment rest matrices. Unlike bones, these can have
scale even in rest pose, so normalization is required.

Differential Revision: https://developer.blender.org/D10003
January 18, 2021, 15:38 (GMT)
Tracking: Re-write marker request function

There are two main things.

First, remove the marker index caching. Thins makes it possible to
safely use function from a threaded environment.

Second, replace linear search with binary search, which speeds up
random lookup.

There is no measurable difference in the stabilization which had a
comment about caching nature of track lookup. The random lookup
complexity changed from O(N) to O(log N). In practice this also
unlikely to be measurable, but thread-safety worth it.
January 18, 2021, 15:38 (GMT)
Tracking: Add interpolated accessor for markers

Allows to get marker position interpolated through out a gap.

Currently unused, but is covered with test. Aimed to be used for
track average operator.
January 18, 2021, 15:38 (GMT)
Tracking: Implement tracks average operator

Average selected tracks into the new one. This can be used to improve
stability of tracking on blurry or non-very-sharp feature shapes.

Averaging happens for all position, pattern corners and search area.
Disabled markers do not take effect on averaging. Keyframed flag is
copied from source.

Gaps in the source tracks will be linearly interpolated, to reduce
result track jump. Note that this only applies to gaps "inbetween".
This means that if an input track doesn't have markers in the
beginning/end of it, there is nothing to interpolate with and the
result track will jump.

Available from the Track panel, under the Merge category.

Differential Revision: https://developer.blender.org/D6323
Revision f508292 by Falk David
January 18, 2021, 15:29 (GMT)
Fix T84719: Doversion for curve edit settings

Make sure default values for curve edit mode are filled for older files.

Reviewed By: antoniov

Maniphest Tasks: T84719

Differential Revision: https://developer.blender.org/D10136
Revision 5e0ef4e by Falk David
January 18, 2021, 15:23 (GMT)
Fix T84719: Doversion for curve edit settings

Make sure default values for curve edit mode are filled for older files.

Reviewed By: antoniov

Maniphest Tasks: T84719

Differential Revision: https://developer.blender.org/D10136
January 18, 2021, 14:47 (GMT)
Merge branch 'blender-v2.92-release'
January 18, 2021, 14:47 (GMT)
Cycles: Fix missing OpenCL extensions in certain cases

If extensions string is longer than 1024 then the old code would have
reported empty string instead of extensions.

Now the code does dynamic string allocation to store result of request,
similar to what is done in `OpenCLInfo::get_hardware_id`.

The code looks a bit ugly, but it didn't really change much with this
patch. In other words, the code can become more modern and clear, but
it is considered to be outside of the scope of this change.

Differential Revision: https://developer.blender.org/D10135
January 18, 2021, 14:30 (GMT)
Merge branch 'blender-v2.92-release'
January 18, 2021, 14:30 (GMT)
Fix T84650: CPU render + OptiX denoiser leaves empty tiles unprocessed

The OptiX denoiser is part of the OptiX device, so to the tile manager looks like a GPU device. As a
result the tile stealing implementation erroneously stole CPU tiles and moved them to that OptiX
device, even though in this configuration the OptiX device was only set up for denoising and not
rendering. Launching the render kernel therefore caused a crash because of a missing AS etc.
This fixes that by ensuring tiles can only be stolen by devices that support render tiles.
January 18, 2021, 14:02 (GMT)
Merge branch 'blender-v2.92-release'
January 18, 2021, 14:00 (GMT)
Fix T84600: prevent bone groups operators on proxies and library
overrides

Editing bone groups is not supported on proxies/overrides [changes a re
lost on file reload], need to do proper polling (and also prevent this
from rna) for:

- adding bone groups
- removing bone groups
- renaming bone groups
- setting bone groups colors

Previously, this was hinted at by setting the layout inactive, with
preoper polls, this is now not needed anymore.

note: Selection of bone groups actually makes sense here and is
supported, so this is not prevented in this patch, but UI wise this is
not nice in the override case, because one cannot set an active_index
(aka select) in the UI list.

Maniphest Tasks: T84600

Differential Revision: https://developer.blender.org/D10131
January 18, 2021, 13:57 (GMT)
Fix T84808: Individual projection works even when snap options don't affect the transform mode

Individual projection is a different branch of snap and always projects
the transformed elements on the surface of objects.

Perhaps this option should be limited to the Move mode due to similarity.

But in order not to change the current behavior too much, this commit only
disables this option in modes not affected by snap.
January 18, 2021, 13:07 (GMT)
Merge branch 'blender-v2.92-release'
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021