Commit Graph

128893 Commits

Author SHA1 Message Date
Campbell Barton a03b1e5df5 Merge branch 'blender-v4.0-release' 2023-10-05 10:51:48 +11:00
Campbell Barton 2f71d9f807 Build: quiet GCC warning for extern/fmtlib 2023-10-05 10:50:58 +11:00
Brecht Van Lommel 3bbd4294d9 Merge branch 'blender-v4.0-release' into main 2023-10-04 21:32:58 +02:00
Brecht Van Lommel 61f982f0d1 Cleanup: make format 2023-10-04 21:30:41 +02:00
Brecht Van Lommel 6f6fd99dbb Fix I/O debug message printed without debugging enabled 2023-10-04 21:30:41 +02:00
Harley Acheson af91b3dd72 Cleanup: Make format
Just formatting changes from Make Format
2023-10-04 12:12:31 -07:00
Harley Acheson 544ef3baad Merge branch 'blender-v4.0-release' 2023-10-04 12:09:23 -07:00
ChengduLittleA 6d64c6dcd7 UI: Recognize CJK punctuation when selecting text
Add frequently-used Chinese, Japanese, Korean special character
delimiters (punctuation, quote characters, brackets, etc) to aid the
selection of character segments in text operations.

Pull Request: https://projects.blender.org/blender/blender/pulls/112852
2023-10-04 21:08:13 +02:00
Richard Antalik 0a12c5101b Merge branch 'blender-v4.0-release' 2023-10-04 19:51:44 +02:00
Germano Cavalcante 72a52520db Select Engine: Use C++ vector types for arrays
No functional changes.
2023-10-04 14:44:46 -03:00
Richard Antalik dcf2c11d5e Fix build warning in previous commit 2023-10-04 19:44:14 +02:00
Germano Cavalcante 99a3a4a330 Cleanup: Move select engine headers to C++
See #103343

tmp
2023-10-04 14:34:12 -03:00
Richard Antalik 5daefe30e7 Merge branch 'blender-v4.0-release' 2023-10-04 19:28:57 +02:00
Richard Antalik 1b59571f6b Fix VSE retiming usability issues
Rename Retime Strips -> Toggle Retiming Keys
Gray out items in retiming menu instead of hiding
Remove selection operators from retiming menu
Gray out items in select menu when retiming
Prevent selecting keys, if overlay is disabled
Add show retiming keys toggle to sidebar time panel

ref https://projects.blender.org/blender/blender/issues/112343

Pull Request: https://projects.blender.org/blender/blender/pulls/113211
2023-10-04 19:27:28 +02:00
Jacques Lucke d1a6b94ab8 Merge branch 'blender-v4.0-release' 2023-10-04 19:23:21 +02:00
Vasilis-Milios 6d1c5790d5 Fix #113194: show the single value for sockets of type field
Pull Request: https://projects.blender.org/blender/blender/pulls/113244
2023-10-04 19:21:07 +02:00
Sergey Sharybin d7a21d0199 Merge branch 'blender-v4.0-release' 2023-10-04 18:10:50 +02:00
Sergey Sharybin 92647bdbdd Fix light linking state being lost on collection copy and duplicate
This preserves the light linking state when collection is copied manually
via the copy-paste or duplicate functionality, but also should fix the
problem of lost light linking state when adding a collection override.

Pull Request: https://projects.blender.org/blender/blender/pulls/113243
2023-10-04 18:10:09 +02:00
Sergey Sharybin d522938fd5 macOS: Enable secure coding for restorable state
There are secure implications of not using secure coding for the
restorable state described in the following article:

  https://sector7.computest.nl/post/2022-08-process-injection-breaking-all-macos-security-layers-with-a-single-vulnerability/

Starting with macOS 14 this secure coding is enabled implicitly
but with a warning printed into the console with a note that it
does not affect other versions of macOS.

This change makes it so the secure coding is used explicitly on
all supported macOS versions.

Blender does not use the restorable state itself, and used its
own code to take care of window placement, so there should be
no user-measurable changes.

Pull Request: https://projects.blender.org/blender/blender/pulls/113240
2023-10-04 18:09:27 +02:00
Bastien Montagne 159979a585 Merge branch 'blender-v4.0-release' 2023-10-04 17:06:25 +02:00
Damien Picard 1fa7ba125c I18n: translate bones' 'Move to Collection' operator menu.
Several items are untranslated in the 'Move to Collection' operator
menu (the bone collections one, `ARMATURE_OT_move_to_collection`).
This is because it uses custom callback to allow the menu content
to be dynamically generated.

Because of this, some labels have to be translated manually using
`CTX_IFACE_()`. The translation context is "Operator" because these
messages come from an operator.

On the other hand, the destination collections themselves should not
have their name translated since they are data. The property now uses
the `PROP_ENUM_NO_TRANSLATE` flag for this.

PR: https://projects.blender.org/blender/blender/pulls/113224.
2023-10-04 16:59:57 +02:00
Jacques Lucke 5ad9c135e4 Cleanup: deduplicate uilist layout code for zone socket items 2023-10-04 15:40:57 +02:00
Jacques Lucke 29da7608ca Geometry Nodes: deduplicate zone socket item operators in Python
No user visible changes are expected.
2023-10-04 15:38:38 +02:00
Bastien Montagne 43d7abc31a Merge branch 'blender-v4.0-release' 2023-10-04 14:51:06 +02:00
Bastien Montagne 2d2c7457cf Fix #112548: Assert in object parenting liboverride code.
Dummy mistake in commit(s) a few months ago that fixed/improved handling
of parenting between objects in liboverride context, trying to access an
Enum propoerty as an int one...

This will have to be backported to 3.6LTS as well.
2023-10-04 14:43:42 +02:00
Clément Foucault 9d229aee19 Math: Add `from_up_axis` matrix creation function
This add the possibility to create a
orthogonal basis around a given unit
vector.

The name was chosen to match the naming
convention already in place and match
the other matrix construction functions.
In other places (ex: renderers), this same
function is commonly named `make_orthonormal`
or `make_basis`.

The function is not given to have a fixed
implementation and might change overtime.
That's why the test only covers the
assumptions and not the raw values.

The implementation is borrowed from
Cycles and adapted to our math API.

Pull Request: https://projects.blender.org/blender/blender/pulls/113218
2023-10-04 14:35:47 +02:00
Bastien Montagne 17816d18ca Merge branch 'blender-v4.0-release' 2023-10-04 14:15:32 +02:00
Bastien Montagne 3d5c6dc218 Tests: Add test to open all blendfiles in current `/lib/tests/` repository.
This is fairly brute force and rough, but there are quite a few old
files in there, helps a bit with versioning and readfile code testing.

Note: Five files are currently excluded since failing in debug builds
at least, most of the time for memleaks issues. The two other 'errors'
may also not be actual issues, but this needs to be investigated further.

Also, in the future, when time allows, it may be better to generate a
set of dedicated testing files, with as many official releases versions
as possible?

Re. #112649.
2023-10-04 14:15:06 +02:00
Lukas Stockner e95ae963d9 Merge branch 'blender-v4.0-release' 2023-10-04 13:59:45 +02:00
Lukas Stockner d071e0a5fc Fix #113058: Cycles: Bump mapping causing dark edges with subsurface
The refractive entry bounce does not like being below the shading normal,
so use the existing clamping logic.
2023-10-04 13:28:20 +02:00
Campbell Barton 4ad4690d0a Merge branch 'blender-v4.0-release' 2023-10-04 22:24:26 +11:00
Campbell Barton a6ffb82940 Merge branch 'blender-v4.0-release' 2023-10-04 22:24:20 +11:00
Campbell Barton 93aa1654be Fix crash caused by bl_keymap_validate clearing key-maps
The fix for disabling add-ons #113206 caused a crash when the
bl_keymap_validate test exited.

This happened because add-on unregister would try to remove key-map
items that had been freed.

Resolve by disabling all addons instead of clearing the keymaps.
2023-10-04 22:20:38 +11:00
Jacques Lucke beac6599fb Nodes: deduplicate code to create declarations for socket type 2023-10-04 13:01:45 +02:00
Bastien Montagne c820f9b85c Fix #112649: Crash loading early 2.80 blend file without a scene collection.
Caused by 23835a393c, which removed entirely the transitive
`SceneCollection` struct and associated versioning code. This was used
in very early 2.80 development period (up to 2.80 sub 14 apparently)
instead of the current 'master collection'.

The purpose of this commit is only to fix the crash, not to restore
the support for this old, deprecated and never-released type of data.
2023-10-04 12:42:53 +02:00
Jacques Lucke eeb77f3d51 Cleanup: deduplicate more socket items code
This is a continuation of 012289b1e7.
2023-10-04 12:22:32 +02:00
Jacques Lucke 32cb2b2334 Cleanup: avoid having to pass in a statically allocated variable
It's easy to forget that this variable has to be static for correctness,
so better allocate it in the function directly instead everywhere where
it is called.
2023-10-04 11:34:25 +02:00
Jacques Lucke 012289b1e7 Geometry Nodes: deduplicate code to deal with dynamic socket amounts
The goal of this refactor is to reduce the amount of boilerplate code that is
necessary to have a dynamic number of sockets on nodes. This is achieved
by making the code more reusable. Currently, only the simulation and repeat
zone nodes make use of this. However, even with just those two, the amount
of code is reduced already. The benefit of this refactor will become even more
significant as more nodes support a dynamic number of sockets. For example,
the bake node and for-each zone will also benefit from this.

We could probably make some of the utility functions non-templates using type
erasure. This could reduce the compilation overhead when the number of nodes
with item arrays increases. The main reason for why everything is templated
now is that it made this refactor easier. Without this patch, all the code was
essentially "manually templated". So the implementations look still similar to
before now, just that concrete types are replaced with template parameters.

No user-visible changes are expected.

Pull Request: https://projects.blender.org/blender/blender/pulls/113114
2023-10-04 11:02:52 +02:00
Omar Emara 17bdf18397 Realtime Compositor: Implement Keying Screen node
This patch implements the Keying Screen node for the Realtime
Compositor. Draw data was introduced to the Movie Clip ID to allow
caching of the keying screen.

Pull Request: https://projects.blender.org/blender/blender/pulls/113055
2023-10-04 07:35:07 +02:00
Campbell Barton 44ec73e24e Merge branch 'blender-v4.0-release' 2023-10-04 16:22:32 +11:00
Campbell Barton 9a75c29bf8 Fix #113206: add-on unregister() not called on exit
Own regression in [0] caused add-ons not to run the unregister function
on exit.

[0]: e1b72e569d
2023-10-04 16:09:30 +11:00
Omar Emara 75c947a467 Compositor: Use RBF Interpolation in Keying Screen node
This patch changes the interpolation algorithm utilized by the Keying
Screen node to a Gaussian Radial Basis Function Interpolation. This is
proposed because the current Voronoi triangulation based interpolation
has the following properties:

- Not temporally stable since the triangulation can abruptly change as
  tracking markers change position.
- Not smooth in the mathematical sense, which is also readily visible in
  the artists sense.
- Computationally expensive due to the triangulation and naive
  rasterization algorithm.

On the other hand, the RBF interpolation method is temporally stable and
continuous, smooth and infinitely differentiable, and relatively simple
to compute assuming low number of markers, which is typically the case
for keying screen objects.

This breaks backward compatibility, but the keying screen is only used
as a secondary input for keying in typical compositor setups, so one
should expect minimal difference in outputs.

Pull Request: https://projects.blender.org/blender/blender/pulls/112480
2023-10-04 07:07:04 +02:00
Campbell Barton 0b302d2139 Merge branch 'blender-v4.0-release' 2023-10-04 15:25:47 +11:00
Peng Yan dcb2c0bdf6 BMesh: remove redundant calculation from BMesh bisect
Besides being a redundant calculation,
reducing stack memory usage is generally worthwhile.

Ref !113153.
2023-10-04 15:25:07 +11:00
Campbell Barton a5049ba8f0 Merge branch 'blender-v4.0-release' 2023-10-04 15:14:04 +11:00
Colin Basnett 46647ed911 Fix typo in documentation for BMVertSeq.new
Ref !113190.
2023-10-04 15:13:06 +11:00
Campbell Barton ddad645157 Fix use after free error in recent check for EGL context
Correct error in [0].

[0]: 5ae917ffe9
2023-10-04 13:16:44 +11:00
Campbell Barton 2e732328a8 Merge branch 'blender-v4.0-release' 2023-10-04 11:58:32 +11:00
Campbell Barton 30a580bf30 Fix failure to remove temp-dir when initializing GPU backend fails
Call WM_exit() instead of exit() cleanup functions run.
2023-10-04 11:41:59 +11:00
Campbell Barton b469d9dd7d Merge branch 'blender-v4.0-release' 2023-10-04 10:33:26 +11:00