Commit Graph

128500 Commits

Author SHA1 Message Date
Aras Pranckevicius
446ff8a321 Merge branch 'blender-v4.0-release' 2023-09-28 14:22:11 +03:00
Aras Pranckevicius
bf23d0e53c Fix #112011: PLY export broken when mesh contains faces with >255 vertices
MPoly -> offset indices refactor (7966cd16d6) did not realize
that due to forced triangulation the mesh changes, so we need
to re-fetch the faces array after triangulating. Fixes #112011
2023-09-28 14:21:23 +03:00
Jason Fielder
e64db67fa5 GPU: Add platform parameter for GPU architecture
Authored by Apple: Michael Parkin-White

Pull Request: https://projects.blender.org/blender/blender/pulls/112566
2023-09-28 12:49:55 +02:00
Philipp Oeser
9fcc8de68f Merge branch 'blender-v4.0-release' 2023-09-28 11:49:22 +02:00
Philipp Oeser
16e4eeb9c0 Text objects: make CharInfo mat_nr zero-based
For text objects, the CharInfo mat_nr material index used to start at 1
(not at zero like for meshes or nurbs).
Code was mostly considering this (but not in all places, so material
index handling (removing/moving) could still go wrong.

As an alternative to !109746 (where it was made sure all places would
make the right assumption about mat_nr starting at 1), this PR now
changes the mat_nr to be zero-based.

This is more in line with other places handling material indices.

Versioning code is in place to properly convert old files.

Fixes #109491

Pull Request: https://projects.blender.org/blender/blender/pulls/112954
2023-09-28 11:46:52 +02:00
Lukas Tönne
035209fb8f Merge branch 'blender-v4.0-release' 2023-09-28 11:25:39 +02:00
Lukas Tönne
9e79487c4f Fix #112588: Hide node panels when all sockets are hidden
The panel state gets a new flag to indicate if content is visible.
This gets updated in the visibility pass during node drawing.

Pull Request: https://projects.blender.org/blender/blender/pulls/113003
2023-09-28 11:24:48 +02:00
Sybren A. Stüvel
1930ebdb4f Anim: add operator to sync bone colors between selected bones
Blender's "Copy to Selected" feature only copies single properties, while
bone colors consist of four properties (palette + 3 custom colors). These
can now be copied with a single click.
2023-09-28 11:21:02 +02:00
Sybren A. Stüvel
4473bdc6ab Anim: bone color properties panel layout tweaks
More consistent layout for bone colors. The custom colors and regular
colors now have the layout in the UI.
2023-09-28 11:19:53 +02:00
Jeroen Bakker
ad93324580 Vulkan: Add support for Framebuffer Depth Blit
This PR adds support for `GPU_framebuffer_blit` When used with `GPU_DEPTH_BIT`.
The challenge with is that not all GPUs support using a depth texture as a blit destination.

An AMD GPU doesn't support a depth buffer with stencil buffer as blit destination.
![image](/attachments/130e7e38-2dbc-4653-950c-2234bd5bad52)
> NOTE: AMD GPUs don't support 24 bit unsigned normalized depth textures at all.

In all cases when we use depth blitting we are blitting the whole texture
and in stead we can use a texture copy.

A negative effect is that we need to unbind the framebuffer when copying
depth textures, but a positive effect is that we can use a data transfer function what should
theoretically be faster.

This should be revisited when we are investigating in areas to improve the
performance of the Vulkan backend.

Pull Request: https://projects.blender.org/blender/blender/pulls/112674
2023-09-28 10:00:24 +02:00
Jeroen Bakker
e5a33b3b2c Vulkan: Rework Initializing/Allocating Textures
When initialy adding textures it wasn't possible to allocate during
initialization as its usage wasn't known. Bot Metal and Vulkan would do
a delayed allocation adding more checks when using textures.

Recently the behavior of setting texture usage was changed and now is
known when initializing textures. This PR makes advantage of this to
give correct feedback to the calling code if the texture can be created
and remove all the delayed allocating of textures.

Pull Request: https://projects.blender.org/blender/blender/pulls/112997
2023-09-28 09:38:52 +02:00
Campbell Barton
8b6b71a47f Merge branch 'blender-v4.0-release' 2023-09-28 16:47:49 +10:00
Campbell Barton
afeb3e7784 Fix #112761: Sequencer tweak tool does not box-select
Clicking and dragging over and empty space wasn't box selecting.
2023-09-28 16:42:50 +10:00
Campbell Barton
ca9c6372c9 Merge branch 'blender-v4.0-release' 2023-09-28 14:28:56 +10:00
Campbell Barton
fc8b1411cd Cleanup: correct struct comments & help text for batch loading utility 2023-09-28 14:28:12 +10:00
Campbell Barton
dd07944bcf Merge branch 'blender-v4.0-release' 2023-09-28 14:26:54 +10:00
Campbell Barton
d4f1a9b0ad Build: resolve build error on MSVC
Address error introduced by [0].

[0]: 6b967287c9
2023-09-28 14:23:11 +10:00
Campbell Barton
046ae0c790 Merge branch 'blender-v4.0-release' 2023-09-28 14:13:52 +10:00
Campbell Barton
be7c8fac6d Fix #112990: save pre/post/post/fail don't run for unwritable paths
When the destination path isn't writable - the save callbacks wouldn't
run. Supporting this can be useful so handlers can unlock a file
before saving, see #88493.
2023-09-28 14:13:05 +10:00
Campbell Barton
a34d53cf6f Merge branch 'blender-v4.0-release' 2023-09-28 13:43:09 +10:00
Campbell Barton
881bb81763 UI: don't access recent-search.txt when disabled or in background mode 2023-09-28 13:42:29 +10:00
Campbell Barton
e85a1b19e6 UI: don't access recent-search.txt when disabled or in background mode 2023-09-28 13:39:00 +10:00
Campbell Barton
cfc4dc2379 Merge branch 'blender-v4.0-release' 2023-09-28 12:54:14 +10:00
Campbell Barton
f67c7cf990 Merge branch 'blender-v4.0-release' 2023-09-28 12:54:11 +10:00
Campbell Barton
2d1f96d071 Merge branch 'blender-v4.0-release' 2023-09-28 12:54:07 +10:00
Campbell Barton
fa7fedd93d Merge branch 'blender-v4.0-release' 2023-09-28 12:54:04 +10:00
Campbell Barton
62238464d8 Cleanup: format 2023-09-28 12:53:18 +10:00
Julien Kaspar
fa27e6561e Keymap: restore most used brush shortcuts
Based on feedback from users this PR brings back the most commonly used
brush shortcuts in sculpt mode. Essentially reverting some of the
changes from #108712

There are multiple reasons behind this decision:

- Anyone coming from a previous version will instinctively reassign the
  brush shortcuts to the same keys as before, introducing shortcut
  conflicts as a result. Having the shortcuts there by default makes this
  case less likely as it makes available brush shortcuts more obvious.
- The default `paint.brush_select` operator is hard to set up manually
  and is offering behavior that isn't available with the
  `wm.tool_set_by_id` which is far easier to create from the UI
- There are too many brushes available to know which ones are the most
  common ones.

There are some additional changes:
- `S` is now used for the Smooth brush.
- Draw brush is now assigned to `V` to avoid conflicts on `X`.
- `Shift T` is using the Scrape instead of Flatten brush.
- `C` is using the Clay Strip instead of Clay brush.

Removing the brush shortcuts can be revisited later once the brush
management is overhauled.

Ref !112898.
2023-09-28 12:52:49 +10:00
Julien Kaspar
a3d0006ac1 Keymap: IC, minor adjustments based on user requests
Some small adjustments based on user requests from the community.

- The shortcut on 4 for Object Mode was much preferred.
  As a compromise the mode pie menu moved to 5.
- The region selection shortcut from the default keymap was not added.
  It's now available on Ctrl Shift Alt LMB.

Ref !112628.
2023-09-28 12:52:47 +10:00
Julien Kaspar
a0e5b03126 Keymap: IC, regions shortcuts and fixed inconsistencies
This is a followup fixes related to #105298

This PR adds shortcuts to toggle the sidebar, toolbar, channels and
other regions across various editors with the Ctrl-LeftBracket &
Ctrl-RightBracket shortcuts.

An additional shortcut to toggle the Asset Shelf in the 3D Viewport via
Shift Spacebar was also added. This shortcut will be important for
various workflows in the future.

To avoid shortcut conflicts and improve consistency, Ctrl-L is now
consistently being used for select_linked operations.

Ref !112042.
2023-09-28 12:52:46 +10:00
Campbell Barton
cccd547ba9 Merge branch 'blender-v4.0-release' 2023-09-28 12:47:00 +10:00
Campbell Barton
35d9e71614 Merge branch 'blender-v4.0-release' 2023-09-28 12:46:57 +10:00
Campbell Barton
d37429c76a Merge branch 'blender-v4.0-release' 2023-09-28 12:46:54 +10:00
Campbell Barton
76d28ce18f Merge branch 'blender-v4.0-release' 2023-09-28 12:46:50 +10:00
Campbell Barton
6b967287c9 MEM_guarded_alloc: restore execinfo.h back-trace on Linux/Apple
Recently [0] replaced back-traces from `execinfo.h` with ASAN's
`__asan_describe_address` since the linking options to hide symbols
cause the stack-traces only to include addresses (without functions).
Although using ASAN makes sense when enabled, in my tests the
stack-traces are sometimes empty. Using CMAKE_BUILD_TYPE=RelWithDebInfo
for e.g. wasn't showing a stack-trace for the leak fixed in [1].

A utility is now included to conveniently expand the addresses from
these stack traces (`tools/utils/addr2line_backtrace.py`).

Restore support for the execinfo stack-trace reporting, used when ASAN
is disabled.

[0]: 2e79ca3205
[1]: a9f0d19197
2023-09-28 12:45:04 +10:00
Campbell Barton
c4a67b377b Cleanup: quiet missing declaration warning 2023-09-28 12:05:47 +10:00
Campbell Barton
ffbe9add7c RNA: EnumPropertyItem values don't exceed the underlying range
When the type of an enum is known (char, short, int .. etc)
check the values used in the EnumPropertyItem are valid for that type.

This would have made the error from [0] fail at build time.

[0]: 928721c59e
2023-09-28 12:05:47 +10:00
Campbell Barton
640d49c38a RNA: set range for "uchar" type int property
This avoids the need to explicitly set inline, extract the int range
into a function (needed to support validating the RNA range for enums).
2023-09-28 12:05:47 +10:00
Campbell Barton
8edd706cde Merge branch 'blender-v4.0-release' 2023-09-28 11:23:05 +10:00
Campbell Barton
928721c59e Fix broken UV header caused by out-of-range value in DNA
The enum value was outside 'char' range.
2023-09-28 11:20:53 +10:00
Ray Molenkamp
384d9c9a07 Merge remote-tracking branch 'origin/blender-v4.0-release' 2023-09-27 18:03:38 -06:00
Ray Molenkamp
751c9ef620 CMake/MSVC: Fix build error for RelWithDebInfo configuration
CMake decided to link the Debug libs for MaterialX because no specific
RelWithDebInfo configuration was provided, strange default imho but
not difficult to fix.
2023-09-27 18:03:16 -06:00
Harley Acheson
14c233d788 Merge branch 'blender-v4.0-release' 2023-09-27 16:27:20 -07:00
Harley Acheson
13f5879e3c UI: Splash Screen Changes
Updated splash screen with different options depending on whether the
user is new or upgrading. Simplifies the process for new users and
makes the choices more distinct when upgrading. Returning users also
get a link to "What's New".

Pull Request: https://projects.blender.org/blender/blender/pulls/111123
2023-09-28 01:25:46 +02:00
Hans Goudey
afaa30b1eb Merge branch 'blender-v4.0-release' 2023-09-27 18:22:16 -04:00
Hans Goudey
9e5cf73b4d Cleanup: Make PBVH iter mask not a pointer
After 97f2b01ea9, the iterator's mask data is just read only,
so there's no point in storing it as a pointer. This simplifies the code
using the mask data, since the default only needs to be handled once.
2023-09-27 18:21:36 -04:00
Hans Goudey
1badb464b0 Fix: Compile error from unused module requested in CMake
The `clangSupport` module isn't provided in the precompiled
libraries anymore, and Blender compiles without it.

Pull Request: https://projects.blender.org/blender/blender/pulls/112981
2023-09-27 23:58:03 +02:00
Sergey Sharybin
f03a015049 Merge branch 'blender-v4.0-release' 2023-09-27 23:45:33 +02:00
Francesco Siddi
e0fe8d4698 Fix AppIcon on macOS
The 128x128 version presented some resizing artifacts. It has now
been re-done specifically for that resolution. This icon is only
visible in non-retina displays.

Pull Request: https://projects.blender.org/blender/blender/pulls/112807
2023-09-27 23:45:10 +02:00
Hans Goudey
a493c72d88 Merge branch 'blender-v4.0-release' 2023-09-27 17:19:21 -04:00