Commit Graph

150714 Commits

Author SHA1 Message Date
Bastien Montagne
18635b604c Fix missing update for blender_theme_as_c script after BE removal.
Follow-up to blender/blender@bc80ef136e.
2025-06-12 15:09:23 +02:00
Hans Goudey
037121c261 Mesh: Use names to store active/default UV status
Required for the transition to `AttributeStorage`, because this
information was previously stored in `CustomDataLayer` flags.
This is already the way we store the active/default color attribute status.
Migrating runtime usage to use the names isn't done here, just like
we still use `CustomData` everywhere at runtime for `Mesh`.

Pull Request: https://projects.blender.org/blender/blender/pulls/140137
2025-06-12 14:54:32 +02:00
Benjamin Beilharz
8b67050575 Compositor: Add interpolation options to displace node
This commit introduces interpolation methods (Nearest, Bilinear,
Bicubic) for the Displace node in the compositor:

- Exposes a dropdown selector for interpolation selection.
- Introduces different methods for Anisotropic and other interpolation
  methods.

Reference: #119592.

Pull Request: https://projects.blender.org/blender/blender/pulls/139802
2025-06-12 14:53:15 +02:00
Hans Goudey
d626bf6311 Merge branch 'blender-v4.5-release' 2025-06-12 08:48:23 -04:00
Hans Goudey
91684f0de4 Mesh: 4.5 forward compatibility for active/default UV maps as names
The transition to `AttributeStorage` requires the active and default
UV map status to be stored separately, since currently they're
stored as flags on `CustomDataLayer`. This commit adds forward
compatible reading for when the status is written as attribute names
on `Mesh` instead, which is what we already do for color attributes.

Pull Request: https://projects.blender.org/blender/blender/pulls/140134
2025-06-12 14:47:48 +02:00
Pablo Vazquez
ea3bfcfc2c Fix: Theme: List item widget default outline alpha
The default outline color was set to opaque when it should be
transparent.
2025-06-12 14:42:54 +02:00
Pablo Vazquez
228c1d3baf UI: Theme: Add missing properties to Light theme
New theme settings were added recently.
2025-06-12 14:37:24 +02:00
Christoph Lendenfeld
a1a8b16dcb Merge branch 'blender-v4.5-release' 2025-06-12 14:33:58 +02:00
Clément Foucault
e16b6ac3da EEVEE: Add support for view layer overrides
This was a missing features in EEVEE for ages which
was in fact very easy to implement.

EEVEE implements the sample override like the default
`Use` value in Cycles. It always override the sample
count if not 0. Adding a new option for changing this
behavior just like Cycles can be done later while
at the same time making the option more understandable
and its value moved to the blender's DNA.

This PR moves the UI panel to the Blender side to
be shared between Cycles and EEVEE.

Pull Request: https://projects.blender.org/blender/blender/pulls/140219
2025-06-12 14:18:29 +02:00
Weizhen Huang
735f531cc0 Fix: Cycles: NaN Normals from Normal Map
a degenerate triangle could produce a tangent that is antiparallel to
the normal, resulting the mapped normal to be zero, and becomes NaN when
normalized in `object_normal_transform()`. Fixed by falling back to
unperturbed normal in this case.

Fixes an assertion in the attic benchmark scene.

Pull Request: https://projects.blender.org/blender/blender/pulls/140135
2025-06-12 14:12:39 +02:00
Christoph Lendenfeld
b9d282b317 Fix #136372: Outliner hierarchy modification not auto keying
When recursively modifying a property via the Outliner while holding Shift,
only the property that was actually clicked got keyed.

With this fix, the clicked property gets keyed twice. Once with the added call,
and once in the ui button code. This shouldn't be a performance concern though.

Pull Request: https://projects.blender.org/blender/blender/pulls/140131
2025-06-12 13:47:24 +02:00
Jacques Lucke
5f69878126 Fix #140234: missing bounds check in Offset Corner in Faces node
Pull Request: https://projects.blender.org/blender/blender/pulls/140269
2025-06-12 13:08:52 +02:00
Julian Eisel
1a9a7400e7 Cleanup: Remove unnused asset list iterator functions
Unused after 7cd26d37ea. Was mostly needed to get the `AssetHandle` for
an asset by index in the asset shelf, but this doesn't use the asset
handle anymore.
2025-06-12 13:08:09 +02:00
Julian Eisel
7cd26d37ea Refactor: UI: Don't use hacky asset handle for asset shelf context
Another step towards removing `AssetHandle`, see #108806.

When introducing the asset shelf, much of it was using the
hacky/temporary `AssetHandle` type since `AssetRepresentation` wasn't
sufficient yet. Passing an asset through context also required using
`AssetHandle`. All this has changed since then, and we can switch the
asset shelf to pass the asset through context via `AssetRepresentation`
instead, as it should be. I think none of the asset shelf uses the asset
handle anymore now, hooray :)

Minor compatibility breakage: In Python `context.active_file` doesn't
work in the asset shelf anymore now. `context.asset` can be used
instead.
2025-06-12 13:06:15 +02:00
David Murmann
d0c4c308ce Fix #139952: ffmpeg ProRes 10 bit output has premultiplied alpha
A video written as 8 bit per channel uses blenders internal byte
buffer directly, which has straight/unpremultiplied/unassociated alpha.
Any other bit depth is converted from the float buffer, which has
premultiplied/associated alpha. This discrepancy was not taken into
account, and is now converted for formats which support alpha and
more than 8 bits per channel (which is only prores and ffv1).

Pull Request: https://projects.blender.org/blender/blender/pulls/139953
2025-06-12 13:05:42 +02:00
Clément Foucault
ef570777e9 Merge branch 'blender-v4.5-release' 2025-06-12 12:57:38 +02:00
Clément Foucault
455fac3e9b Fix #140230: GPU: GPU debug draw excessive memory usage
Simply reduce the default maximum number of vertex to a
more reasonable amount.
2025-06-12 12:57:17 +02:00
Jeroen Bakker
4fd3cb3b68 Merge branch 'blender-v4.5-release' 2025-06-12 12:51:46 +02:00
Jeroen Bakker
f6ec5570d4 Fix #140215: Vulkan: performance descriptor buffers
We added descriptor buffers to 4.5 as it contains some core API changes.
However there have been various reports that the system isn't fully
mature resulting in lower performance especially on NVIDIA GPUs.

This PR will disable descriptor buffer feature for NVIDIA GPUs.

Pull Request: https://projects.blender.org/blender/blender/pulls/140263
2025-06-12 12:50:32 +02:00
Philipp Oeser
679cc9c9b9 Merge branch 'blender-v4.5-release' 2025-06-12 12:41:10 +02:00
Philipp Oeser
cd43760843 Fix: Graph Editor proportional editing wrong distances
This is a followup to 1345ed9214 which caused a regression in that not
the "real" closest distance was chosen.

The "real" closest distance should be based on the closest selected
item, but instead, it was now more or less based on the _last_ selected
item, so seemingly the whole influence-thing was shifted to the right...

Since we were not applying the closest distance directly (but
postponing), we continued iterating and the min_ff call was not taking
into account the "stored" value.

So to resolve, additionally min_ff the "stored" value as well.

Pull Request: https://projects.blender.org/blender/blender/pulls/140209
2025-06-12 12:40:48 +02:00
Jacques Lucke
bbb64f0b9a Merge branch 'blender-v4.5-release' 2025-06-12 12:32:46 +02:00
Pratik Borhade
472e2f5418 UI: Remove left indent from shapekey tree view
Set `is_flat_ = true` for shape key tree view, that way add_intent()
will skip the condition that includes extra width on left (see `is_flat_list`).

Pull Request: https://projects.blender.org/blender/blender/pulls/140180
2025-06-12 11:54:23 +02:00
Jacques Lucke
794cd8974b Fix #140240: overlapping buttons in color input node 2025-06-12 11:52:51 +02:00
Jacques Lucke
7099cb3c9a Fix #132944: improve handling of high subdivision levels in nodes
Previously, the subdivision level was clamped to 11. While such high subdivision
levels are rare, there are still use-cases for going above those if hardware
resources allow for it.

This patch sets the hard upper limit to 15. When going above that, even
subdividing a single triangle would result in data that's too large to store in
`Mesh` because it has too many face corners for an `int`. Furthermore, instead
of clamping the subdiv level, there is an error when going above that. This
might help when accidentally connecting a value >= 16 to the subdiv level input.

Pull Request: https://projects.blender.org/blender/blender/pulls/140057
2025-06-12 11:31:33 +02:00
Jacques Lucke
beae6a050e Geometry Nodes: support creating Evaluate Closure node based on closure
Similar to #140187. This allows creating an Evaluate Closure node with the right
signature for an existing closure when using link-drag-search.

Pull Request: https://projects.blender.org/blender/blender/pulls/140191
2025-06-12 11:28:47 +02:00
Bastien Montagne
bc80ef136e Big Endian Support Removal.
This commit implements #125759.

It removes:
* Blender does not build on big endian systems anymore.
* Support for opening blendfiles written from a big endian system is
  removed.

It keeps:
* Support to generate thumbnails from big endian blendfiles.
* BE support in `extern` or `intern` libraries, including Cycles.
* Support to open big endian versions of third party file formats:
  - PLY files.
  - Some image files (cineon, ...).

Pull Request: https://projects.blender.org/blender/blender/pulls/140138
2025-06-12 10:37:47 +02:00
blend_adarsh
05d0391ed6 Fix #138764: Draw weak grid lines on every second frame
Instead of drawing weak lines halfway between strong lines, they are
drawn at every second strong line as gray lines, skipping one dark line.

This means that lines are always drawn on full frames instead of
sometimes landing in the middle.

Co-authored-by: Adarsh TS <tsadarsh@pop-os.localdomain>
Pull Request: https://projects.blender.org/blender/blender/pulls/139398
2025-06-12 09:16:32 +02:00
Campbell Barton
dc83260f1a UV: split island select into a separate option, support for sync-select
Change island selection from being it's own selection mode,
along side vertex/edge & face modes, to a separate toggle.

This makes it possible to use sync-select without loosing functionality
as previously island selection didn't work when sync-select was enabled.
Now island selection supports sync-select although at the moment this
only works in face-select mode, when !138197 is merged this limitation
will be removed.

In practice this change is subtle, making it possible to toggle island
selection no matter which selection mode is currently active.

Details:

- The UI is mostly unchanged, this option is available
  in the same location in the header & menu as a toggle.
- The shortcut 4-key is kept, toggling instead of switching modes.
- Enabling island selection no longer isolates islands,
  it just acts on selection actions made after being enabled.
2025-06-12 07:09:46 +00:00
Sietse Brouwer
c40a1a9836 Fix #120291: Grease Pencil: Geometry not selected after paste
In Grease Pencil, when pasting geometry from the clipboard, the pasted
geometry should always be selected, so that the user can continue
working with it. In some cases though, the geometry wasn't selected.
And selection failed when there was a mismatch between the selection
domain on the clipboard and the active selection domain when pasting
(e.g. selection domain on the clipboard was 'Point' and the active
selection domain was 'Curve').
This PR ensures that the pasted geometry is always selected, in the
correct selection domain.

Pull Request: https://projects.blender.org/blender/blender/pulls/140127
2025-06-12 08:20:46 +02:00
Christoph Lendenfeld
b4d82d57c8 Merge branch 'blender-v4.5-release' 2025-06-12 08:17:41 +02:00
Christoph Lendenfeld
283ae193d9 Fix: Autokeying properties does not deselect keys
When autokeying properties, it didn't deselect
keys in editors like it does now for other ways of keying.

------

Part of #138877
Not tagging this PR as a fix because it doesn't completely resolve the issue

Pull Request: https://projects.blender.org/blender/blender/pulls/139886
2025-06-12 07:42:44 +02:00
Christoph Lendenfeld
96daf409c0 Fix: Autokey subframes when editing buttons
Previously, autokeying properties from the UI (outliner, n-panel)
would snap to full frames even when the current frame is a subframe.

This PR also fixes the display of properties in the
outliner when subframes are used. If the property is keyed
on the current subframe it is now yellow.

Found while trying to fix #136372

Pull Request: https://projects.blender.org/blender/blender/pulls/140117
2025-06-12 07:40:42 +02:00
Christoph Lendenfeld
04162c9a93 Fix #138695: Pasting single keyframes not taking NLA offset into account
When pasting single keyframes NLA mapping was not applied.

Pull Request: https://projects.blender.org/blender/blender/pulls/139891
2025-06-12 07:39:11 +02:00
Christoph Lendenfeld
da2a09fe63 Fix #139788: Applying a pose no longer autokeys
When applying a pose asset created with 4.4 and later,
autokeyframing no longer worked. That is because poses
are generated without any FCurve groups now, and the
code assumed there to be an FCurve group for every
bone in the pose action.

I decided to remove that assumption and instead use
`BKE_action_find_fcurves_with_bones` which iterates
fcurves in an action+slot combination
and calls the provided callback. This is the logic that
the code to apply a pose uses as well.

Pull Request: https://projects.blender.org/blender/blender/pulls/139794
2025-06-12 07:34:38 +02:00
Sean Kim
c8e5043999 Merge branch 'blender-v4.5-release' 2025-06-11 21:27:13 -07:00
Sean Kim
98739b6b53 Tests: Add Sculpt tests that verify each brush strength curve preset
This commit adds 9 tests that check each of the default brush curve
strength preset options to ensure that none of them cause NaN
propagation. In total this takes approximately 0.7s to run to run.

By design, these tests are very broad and are not a replacement for
other testing, but they should help in reducing the chance of potential
regressions.

Related to #140162

Pull Request: https://projects.blender.org/blender/blender/pulls/140242
2025-06-12 06:26:05 +02:00
Campbell Barton
9fff67ba1b Cleanup: rename UV flags for clarity
Use the `UV_FLAG_*` prefix for UV flags.
2025-06-12 13:25:22 +10:00
Richard Antalik
4fc85a202b VSE: Modal mode for strip add operator
Start frame and especially channel picking algorithm was sub optimal. It
is much better to leave final strip placement decision up to the user
in a form of modal operation.

Move Strips property is added to strip add operators. When enabled,
strip is added to position of mouse cursor, strip overlap is allowed
and strip position then can be changed during modal seq_slide
operation, which is invoked automatically.
This property is saved and drag and drop operations do not change it,
thanks to store/restore hack facilitated by operator customdata.

If translation after strips are added is canceled, added strips are
removed.

Effects with inputs do not use this feature, as their placement is
restricted in X axis and 99% of time, it would be placed directly above
the input strip.

Since the strips are to be placed to mouse position after "modal"
filebrowser is closed, `eventstate->xy` of `wmWindow` is used to read
mouse cursor position in operator exec function.

The seq_slide operator is invoked using `WM_operator_name_call_ptr()`,
as macros or other schemes do not fit this use-case.

Ref: #136515

Pull Request: https://projects.blender.org/blender/blender/pulls/138382
2025-06-12 03:06:48 +02:00
YimingWu
f87c821b96 Fix #140082: Line Art: Use original object id to check dupli objects
In 884ef238c0 line art added a safe guard in depsgraph iterator to
properly handle dupli-objects, but it should check original objects id
for inclusion instead of evaluated objects. Now dupli-objects will show
up correctly.

Pull Request: https://projects.blender.org/blender/blender/pulls/140095
2025-06-12 08:35:01 +08:00
Harley Acheson
da82ed18f1 Merge branch 'blender-v4.5-release' 2025-06-11 16:56:00 -07:00
Harley Acheson
1f1c20fa08 Fix: Allow Properties Snap To Min at 2X Scale
Slight adjustment to the minimum area snapping size to ensure that
Properties snaps to a minimum that shows the category tabs. Currently
this snaps nicely at 1X scale but does not show the categories at 2X.

Pull Request: https://projects.blender.org/blender/blender/pulls/140241
2025-06-12 01:54:28 +02:00
Jesse Yurkovich
449b1ca5a7 Merge branch 'blender-v4.5-release' 2025-06-11 15:52:42 -07:00
Jesse Yurkovich
fe0aa375ac Fix: USD: Correctly process point instancers using overs for the prototypes
The canonical way to define Point Instancers in USD is to use "overs"
for the prototype instances[1]. However, our current support was coded
and tested against setups using Scope prims to contain the prototypes
instead.

Both approaches are valid USD, but we need to support the canonical way
which we so far did not; the overs were incorrectly excluded from
processing.

Original patch from Michael Kowalski

[1] https://openusd.org/release/api/class_usd_geom_point_instancer.html#UsdGeomPointInstancer_protoProcessing

Pull Request: https://projects.blender.org/blender/blender/pulls/140232
2025-06-12 00:52:07 +02:00
Sean Kim
d9c0a7c3a7 Merge branch 'blender-v4.5-release' 2025-06-11 14:45:22 -07:00
Sean Kim
633ca37641 Sculpt: Revert recently introduced brush strength curve changes
This commit effectively reverts the changes introduced in
23951e1b12 that changed how the brush
strength curve calculation works. Since that commit, a number of high
severity regressions have been reported, and the decision to remove
filtering from this method now seems dubious and likely to cause further
problems.

Other interim fixes that were made have not been reverted, as they are
generally correct to do, even if they cause an extra loop over all of
a node's factors & distances. In general, all existing unnecessary calls
to `filter_distances_with_radius` are planned to be removed in 5.0.

Finally, to address the original issue that the mentioned commit was
intended to fix, we now check distance for the constant falloff and
zero out the factor if necessary.

Pull Request: https://projects.blender.org/blender/blender/pulls/140181
2025-06-11 23:44:11 +02:00
Pablo Vazquez
23fb5752ed UI: Theme: Add new Outline Selected property
Allow theming the outline of selected elements. This helps to make
active elements more prominent, and allows for flat theme combinations
not possible before.

Pull Request: https://projects.blender.org/blender/blender/pulls/139850
2025-06-11 23:20:50 +02:00
Hans Goudey
14a42c0928 Cleanup: Use C++ vector types for convex hull API
Pull Request: https://projects.blender.org/blender/blender/pulls/140233
2025-06-11 22:46:27 +02:00
Hans Goudey
0e52e7f273 Merge branch 'blender-v4.5-release' 2025-06-11 12:46:12 -04:00
Hans Goudey
8b764124c2 Fix #140123: Data-block inputs not drawn in node tools inputs
Caused by 26ce934148

Pull Request: https://projects.blender.org/blender/blender/pulls/140147
2025-06-11 18:45:39 +02:00