Commit Graph

154678 Commits

Author SHA1 Message Date
Harley Acheson
765e38677a Fix: Default Collection Color Always White
With #126307 the default collection color (not set to a specific one),
set in Icon Colors / Collection, is always white. This PR restores the
correct behavior of following the theme color (an error in the SVG
source). And does so immediately (change in property_update).

Pull Request: https://projects.blender.org/blender/blender/pulls/147651
2025-10-08 20:58:42 +02:00
Jacques Lucke
4ca8cf27aa Fix: quick fur operator reads asset from wrong file
The assets files were moved a couple of days ago.
2025-10-08 20:00:15 +02:00
Hans Goudey
a60e0cd44b Geometry Nodes: Support lists and grids in more function nodes
Now every function node except for "Sample UV Surface" supports
both list and grid outputs. Any grid or list input means the output also
has that type (combinations of grids and lists aren't supported).
However note that some nodes also have inputs that are always fields
evaluated on the target geometry.

There is still plenty of room for optimization. For grids and lists, all
the outputs will be computed, and every function node is evaluated
completely separately. It would be better to build a network similar to
fields and evaluate it lazily (when topology doesn't change anyway).

Pull Request: https://projects.blender.org/blender/blender/pulls/147312
2025-10-08 19:49:03 +02:00
Jacques Lucke
66dd8beef3 Fix #147037: copying node referencing packed id does not work
The solution is to remember the deep hash of the copied data-block pointers
instead of just relying on the library file path.

Pull Request: https://projects.blender.org/blender/blender/pulls/147275
2025-10-08 19:39:53 +02:00
Hans Goudey
dd75c0b5ec Fix #147429: Set Resolution node doesn't use default for unselected curves
The fix in this case is to properly use the stored builtin attribute defaults
when capturing the field on the mesh. I extracted that to a function so
the code would read better with early returns.

Pull Request: https://projects.blender.org/blender/blender/pulls/147646
2025-10-08 19:26:12 +02:00
Jacques Lucke
7422f2ea7a Fix #147559: performance regression due to unnecessary geometry copy
The geometry was copied later on when it was modified because there was still a
reference to it in the modifier. Since this uses implicit sharing, if there is
more than one reference, the data has to be copied before it can be modified.

Pull Request: https://projects.blender.org/blender/blender/pulls/147644
2025-10-08 19:14:37 +02:00
Miguel Pozo
8c425ccd4d Cleanup: Remove unused variables 2025-10-08 16:59:20 +02:00
Miguel Pozo
75f3d8c68f Fix #147483: Crash switching scene while rendering animation in main window
When rendering in the main window and changing the active scene,
RE_FreeUnusedGPUResources can free the resources of an active Render,
since no wmWindow references the Scene anymore.

Active Render instances always reference their Scene, so we check those
directly instead.

Pull Request: https://projects.blender.org/blender/blender/pulls/147553
2025-10-08 16:48:38 +02:00
Miguel Pozo
71f4277467 GPU: Codegen: Native support for repeat zones
Support loops at the GLSL level instead of relying on
NOD_shader_nodes_inline.
This improves compilation and runtime performance, avoids causing
recompilations on iteration count changes, and allows supporting
dynamic iteration counts.

(EEVEE-only)

Pull Request: https://projects.blender.org/blender/blender/pulls/145269
2025-10-08 16:38:14 +02:00
Sergey Sharybin
2998b97d5e Fix #147626: Crash when clicking on the "Rendering" workspace
Make the logic in the image editor drawing robust against configuration
when the image editor has flag "show render result from sequencer scene"
and the sequencer scene being nullptr.

It could happen when user configures image editor is such way and then
removes the sequencer scene.

Or, it could also happen when the image editor has the flag set, which
was exactly the cause of the originally reported issue. So this change
also clears the flag which was expected to be cleared. It could affect
some current files saved in the past day, but since the render operator
sets it based on the way the scene is rendered it is not too bad.

Caused by 76c03744a8

Pull Request: https://projects.blender.org/blender/blender/pulls/147630
2025-10-08 16:28:56 +02:00
Hans Goudey
085276d8ba UI: Nodes: Sort packed groups below assets in add menu search
Previously items in the "Group" list would usually show up first because
their menu path is shorter. Now, adjust their search weight so they show
up lower than the corresponding asset. That this is just a heuristic,
because we don't have a good way to directly deduplicate groups
that are just packed assets in the add menu currently.

Pull Request: https://projects.blender.org/blender/blender/pulls/147629
2025-10-08 16:15:03 +02:00
Clément Foucault
e5f13a727a Refactor: EEVEE: Make surfel ray list stable and baking workload auto-adjust
This avoid putting too much work in only one thread for building very long surfel lists.

Instead of insertion sort, we use a prefix sum where all surfel scan the whole ray
list to know their position. Only the coplanar surfel patching is dispatched as
one thread per list.
This is currently a bruteforce approach and could be optimized further.

On top of this, we add a heuristic to scale the amount of work from the baking
depending on the scene complexity. Complex scene will have more overhead but
will remain responsive during baking, while simple scene will be faster to bake.
This avoids hitting TDR in most cases.

The update refresh is now limited to 1 per second to avoid the readback overhead.

Fix #142988

Pull Request: https://projects.blender.org/blender/blender/pulls/146848
2025-10-08 15:59:43 +02:00
Bastien Montagne
89efaee069 Fix #147565: Crash in 'make liboverride' due to threading issues in geonodes.
This is the 'safe and simple' aspect of the fix: prevent `node_warnings`
RNA property of the Node modifier to be overridable.

Its access is 100% not thread safe currently - and it makes no sense to
have this reuntime data overridable anyway!

Another side of the issue will be fixed in a separate commit, for main
only, as it affects quite deeply the behavior of viewlayer resync, and
fixes some unrelated logical issues in the current code.
2025-10-08 15:29:26 +02:00
Thomas Dinges
615911e430 Release: Blender 5.0 splash screen
by Juan Hernández - https://www.artstation.com/donchuan3d
2025-10-08 15:16:34 +02:00
Pablo Vazquez
6a109a75dd Fix: Compositor: Add Asset Shelf toggle to View menu
Add missing Asset Shelf entry in the View menu in the Compositor.

Pull Request: https://projects.blender.org/blender/blender/pulls/147615
2025-10-08 14:57:53 +02:00
Clément Foucault
ab4c245a7e Fix: EEVEE: Lightprobe Volume backfacing toggle is inverted
The UI property was changed 7b97bc48d8
to a negative boolean but the boolean conversion inside EEVEE was
not inverted.

This mean that since 4.2, the default behavior for Lightprobe
volume has been broken / inverted.

To make an existing scene bake the same as before, all material
needs to have their `BackFace Culling > Light Probe Volume` options
inverted. This is done automatically through the versioning code.

The only test cases broken are the ones using default materials which
do not have their property turned off.

Release Notes should contains the compatibility breakage.

Pull Request: https://projects.blender.org/blender/blender/pulls/147218
2025-10-08 14:55:14 +02:00
Brady Johnston
9a8fb5fe98 Fix: Geometry Nodes: Drag-to-search for Grid Info node
This PR adds the drag-to-search for the **Grid Info** node.

Pull Request: https://projects.blender.org/blender/blender/pulls/147547
2025-10-08 14:09:08 +02:00
Jacques Lucke
14966dfe0f Nodes: skip processing some unlinked outputs in usage inferencing
This is a partial fix for #146949. It speeds up drawing by about 15% for me.

Pull Request: https://projects.blender.org/blender/blender/pulls/147612
2025-10-08 13:55:09 +02:00
Nikita Sirgienko
b133019f9f Cycles: oneAPI: use ocloc 101.8132 on Windows
This new version of the graphics compiler improves performance
for the majority of supported Intel devices and adds support
for upcoming Intel hardware. Such an upgrade also requires
an increase in the minimal supported driver version on Windows,
which is why these changes are combined together with
the ocloc upgrade.

Previously set minimal version 101.6557 was increased to 101.8132.

Pull Request: https://projects.blender.org/blender/blender/pulls/147460
2025-10-08 13:36:08 +02:00
Jacques Lucke
8ef6127b70 Nodes: minor speedup for usage inferencing
This reduces some overhead for group input nodes where many sockets are not used.
This helps a bit with resolving the performance regression in #146949.

Pull Request: https://projects.blender.org/blender/blender/pulls/147610
2025-10-08 13:00:38 +02:00
Jacques Lucke
3e0df5d2d7 BLI: inline fast case of CacheMutex.ensure
I can measure a few percent speedup by doing that in the file from #146949.

Pull Request: https://projects.blender.org/blender/blender/pulls/147608
2025-10-08 12:23:22 +02:00
Thomas Dinges
e3e8c283d5 Release: Bump 5.0 to beta 2025-10-08 12:02:49 +02:00
Campbell Barton
850882e4d2 Fix: uninitialized variable use
Correct error in f4308aa2d0
2025-10-08 20:38:43 +11:00
Andrej730
dec032e12e Anim: Indicate Parent Inverse Matrix State in UI
Show the Parent Inverse matrix in the Object properties, Transform
panel. The matrix is shown decomposed as location/rotation/scale.

Pull Request: https://projects.blender.org/blender/blender/pulls/113364
2025-10-08 11:13:24 +02:00
Pratik Borhade
3432c0b238 Fix #147431: Node Editor: 'Join in Named Frame' missing from menus
Operator isn't exposed in UI, now added inside Node menu.
Missed in 8ec093a2d8

Pull Request: https://projects.blender.org/blender/blender/pulls/147499
2025-10-08 11:10:36 +02:00
Pratik Borhade
e816f4976a Fix: Grease Pencil: Stroke method shortcut in sculpt mode
Use `Alt E` to invoke stroke method enum menu. This is done for other
objects/modes, except grease pencil.

Mentioned in #147019

Pull Request: https://projects.blender.org/blender/blender/pulls/147034
2025-10-08 11:10:14 +02:00
Omar Emara
f113af51ab Compositor: Rename Lift to Offset in Color Correction node
This patch renames the Lift parameters to Offset, which is more accurate
and inline with other software.

Pull Request: https://projects.blender.org/blender/blender/pulls/147543
2025-10-08 11:03:47 +02:00
Simon Thommes
54ac206bc7 Essentials Assets: Adjustments and fixes for the new Geometry Nodes assets
Merge changes from https://projects.blender.org/blender/blender-assets/pulls/34

- Handle <1 Substeps in Displace Geometry node.
- Move Substeps down in Displace Geometry node.
- Basic node-tree cleanup (merging input nodes, removing WIP comments, etc.).
- Change Surface Offset subtype to be Distance.
- Enable `As Instance` for object scattering to allow other object types like lights and cameras.
- Use hash for instance randomization to allow for more than 100 unique instances.
- Fix blender/blender#147464 by handling missing radius attribute.

Pull Request: https://projects.blender.org/blender/blender/pulls/147607
2025-10-08 10:59:05 +02:00
Aras Pranckevicius
ac0b95c824 Fix: Build does not link when FFTW3 is off, but Rubberband is on
Rubberband depends on FFTW3, so if that is turned off in the build,
turn off Rubberband as well

Pull Request: https://projects.blender.org/blender/blender/pulls/147604
2025-10-08 10:48:26 +02:00
Omar Emara
d519b189b7 Fix #147551: Cryptomatte not supported in VSE
The Cryptomatte node is not supported in VSE strip modifiers because we
previously limited it to root node trees in scene compositing. This
limitation can be lifted however if the user is using the image mode, so
we remove the poll method and instead give warning when appropriate
based on the mode.

Pull Request: https://projects.blender.org/blender/blender/pulls/147601
2025-10-08 10:45:46 +02:00
Jacques Lucke
a589cb5cf3 Fix #147600: warning pass-through hinders usage inference
The warning node just was not handled in the value inferencer yet.
2025-10-08 10:08:08 +02:00
Christoph Lendenfeld
aef8a05701 Anim: Remove selection rna properties of Bone
With #146102 the selection state of pose bones was moved to
the pose bone itself and syncing code was introduced that
ensures the selection state between pose- and edit mode matches.

While the syncing happens via the `Bone` struct, the flag is
always overridden from either the `EditBone` or the `bPoseChannel`.
Since the selection state of the `Bone` is not  used for  operations anymore
there is no point in keeping it.

In a way this doesn't break backwards compatibility more than
it already was. It's just more visible now because it will actually error.

Pull Request: https://projects.blender.org/blender/blender/pulls/147597
2025-10-08 09:41:51 +02:00
Richard Antalik
7b7b5a5fcd Fix: Crash when prefetching scene strip
Fix done in 7805a4bfe1 introduced another crash - null dereference when
accessing `strip->scene`.

Also the mentioned fix was not quite correct, because it used incorrect
scene and timeline frame to get rendered strips.

Pull Request: https://projects.blender.org/blender/blender/pulls/147595
2025-10-08 08:53:26 +02:00
Campbell Barton
bd8fc0807c UV: update align, randomize & follow active quads for recent API changes
Recent changes to UV selection missed updating this operator.
2025-10-08 17:45:52 +11:00
Nick Alberelli
0d9ea9d11c PyAPI: add Context.temp_override documentation & examples
Add a new section to the `Context` page that includes an explanation
on how to invoke "on demand" logging for context member access.

Design task: #144746
Logging added in: !144810

Ref !146862
2025-10-08 16:08:09 +11:00
Campbell Barton
f222916c38 Cleanup: simplify BM_attribute_stored_in_bmesh_builtin 2025-10-08 15:39:26 +11:00
Campbell Barton
99ed1bd46b Cleanup: use doxygen style comments for doc-strings 2025-10-08 15:19:01 +11:00
Campbell Barton
f4308aa2d0 UV: remove per-UV-map selection data
Replace per UV map selection with a single UV selection for all UV's.
This uses the same data as UV sync select, meaning that it's no longer
possible to keep a different selection when sync-select is disabled.

There is a minor improvement to functionality - previously not possible
to de-select a single face surrounding by selected faces.
Now this is possible because true face selection is supported.

The selection from the active UV-map is converted to use the shared
selection data.

Ref !147523

Co-authored-by: Hans Goudey <hans@blender.org>
2025-10-08 15:05:20 +11:00
Campbell Barton
377e3cfca5 Cleanup: use a define for BMUVOffsets that doesn't reference any layers
Reduce the number of places that need to be updated when struct members
change and reduces the binary size a little.
2025-10-08 14:56:43 +11:00
Campbell Barton
37382b7c39 UV: track select sticky & sync options with edit-mesh undo
Since recent UV selection changes (!138197), the meshes UV selection
is closely tied to the scenes selection options.

Track these settings with edit-mesh undo, to prevent undoing into a
state where the selection doesn't match the previous state.

Ref !147591
2025-10-08 13:44:08 +11:00
Richard Antalik
7805a4bfe1 Fix #147477: Crash when prefetching scene strip
Check if 3D render would be done by recursing also into sequencer
timeline used by scene strips.

This PR removes check if the scene strip is cached. This was used to
allow rendering from disk cache, but it was removed.

Pull Request: https://projects.blender.org/blender/blender/pulls/147511
2025-10-08 04:41:33 +02:00
Richard Antalik
01a70ae58f Fix #146682: Swap data operator breaks effect strips
Caused by not invalidating lookup cache, which is used for tracking
relations between effects and inputs.

Pull Request: https://projects.blender.org/blender/blender/pulls/147509
2025-10-08 04:39:50 +02:00
Campbell Barton
5d671a4ade Cleanup: correct typos & clarify doc-strings for GHOST/Wayland 2025-10-08 13:30:11 +11:00
Campbell Barton
a6a8fc9619 Fix: crash creating a BMesh when some UV selection layers are missing
Error in !138197, while all UV selection layers should exist,
don't crash if some are missing.
2025-10-08 11:20:31 +11:00
Harley Acheson
0155ad92a4 UI: Decrease Edge Icons Color Saturation
The new colorful edge icons are considered a bit too bright and
distracting in the menus. This PR just tones them down a bit by
changing the layer opacities.

Pull Request: https://projects.blender.org/blender/blender/pulls/147567
2025-10-08 02:01:43 +02:00
Campbell Barton
0fcbae8c00 Cleanup: spelling, duplicate terms (check_spelling_*)
Also add colon after argument params.
2025-10-07 23:55:12 +00:00
Campbell Barton
68d280fc36 Build: unbreak building with GCC 15.2 2025-10-08 10:55:06 +11:00
Jesse Yurkovich
60325c7a9c Fix #147465: Distribute Points in Volume node has inaccurate offset
Account for recent changes in how volumes are offset from
blender/blender@12f0bc7736

Pull Request: https://projects.blender.org/blender/blender/pulls/147495
2025-10-07 20:38:23 +02:00
Jesse Yurkovich
8a99ab4463 Fix #145919: Enable BKE_reports to be seen when file is loaded from CLI
There were two issues conspiring to prevent most BKE_reports from
surfacing when loading a file from the command line.

The first is that the "print_level" was left initialized to only
RPT_ERROR which prevents this particular warning from being traced to
the console.

The second is that, in order for us to display reports in the
notification area, we need to give the reports to the window manager.
This is typically all wired up during normal operator execution, but not
when just starting up from the command line.

Pull Request: https://projects.blender.org/blender/blender/pulls/147251
2025-10-07 20:37:15 +02:00
Christoph Lendenfeld
a09d0cfd8c Anim: Move pose bone selection state to bPoseChannel
Move the selection flag for pose bones, from the (edit)bone to the
pose bone.

Previously having multiple instances of armatures in pose mode at the
same time caused issues because selecting a pose bone on one armature
would automatically select it on all instances of it.

This is now fixed since the selection state is stored on the pose bone
(Object level) Doing so breaks API compatibility with 4.5 since the
RNA property on the Bone no longer affects the pose bone. Instead,
there is a new property on the pose bone for that.

Due to this change, some runtime flags for the transform system also
had to be moved to the pose bone. This is due to the fact that these
flags are used by the transform system to pass information between
functions. If we keep the flag at the bone level, this wouldn't work
with armature instances. See `bPoseChannelRuntimeFlag`

Fixes #117892

Pull Request: https://projects.blender.org/blender/blender/pulls/146102
2025-10-07 19:59:36 +02:00