Commit Graph

150792 Commits

Author SHA1 Message Date
Mattias Fredriksson
9e2e90e8ce Cleanup: Inline NURBS methods for computing length of knots/points vector
Inlines knots_num() and adds an inlined utility function for computing
the total number of points in a nurbs curve. This should avoid potential
code duplication and allows behavior to be searched for.

Named function 'control_points_num()' to differentiate from the
'points_num' variable (referencing the number of unique points).

Pull Request: https://projects.blender.org/blender/blender/pulls/140248
2025-06-13 15:59:13 +02:00
Pablo Vazquez
ec5191a80f UI: Theme: Make widget properties layout responsive
Do not force 3-column layout as labels don't fit. Use a responsive
layout like it's done for other panels.
2025-06-13 15:51:19 +02:00
Clément Foucault
a353fb3527 GPU: Remove use_select_pick_depth option
This option does nothing since 4.4. This commit
just remove it from the API, and clear the bit inside the DNA.

Pull Request: https://projects.blender.org/blender/blender/pulls/140338
2025-06-13 15:38:15 +02:00
Clément Foucault
1c29a2e2e5 EEVEE: Rename and move old gtao properties
- Move `gtao_distance` to view layer and rename to
  `ambient_occlusion_distance` (API change).
- Remove `gtao_quality` from the RNA (API change).
- Remove `use_gtao` (unused) from the RNA (API change).
- Rename `gtao_focus` to `fast_gi_bias` in the DNA (no API
  change).
- Rename `gtao_resolution` to `fast_gi_resolution` in the
  DNA (no API change).

Pull Request: https://projects.blender.org/blender/blender/pulls/140298
2025-06-13 15:36:17 +02:00
Jacques Lucke
a996490b83 Fix: use runtime format string
This is necessary to compile Blender with C++20.
2025-06-13 14:31:40 +02:00
Jeroen Bakker
65685b2c70 Merge branch 'blender-v4.5-release' 2025-06-13 13:31:01 +02:00
Jeroen Bakker
6899c2dbfd Fix #140342: Vulkan: Assert when quiting
When quiting Blender the timeline doesn't get updated and an assert is
triggered that the order isn't correct. The order isn't that important
anymore as the mechanism has been tested. The assert was useful during
initial development.

This PR removes the assert as it isn't valid in all cases.
2025-06-13 13:28:37 +02:00
Clément Foucault
4fe75da973 EEVEE: Remove all remaining reference of EEVEE next
This changes the engine identifier back to `BLENDER_EEVEE`.

We keep the `BLENDER_EEVEE_NEXT` identifier around for
versioning reasons (have to detect when it is the active
engine of a older file).

This also rename a bunch of pannels that were using `next`
in their name.

This is a breaking change for Addons compatibility.

Pull Request: https://projects.blender.org/blender/blender/pulls/140282
2025-06-13 12:36:14 +02:00
Clément Foucault
c1a028150a UI: Remove unused Depth Picking from the user pref panel
This option does nothing since 4.4. It will be removed
from the DNA and RNA in 5.0 (see #140338).
2025-06-13 12:32:05 +02:00
Habib Gahbiche
f98462ff2e Fix: Crash if new_compositing_node_group is called from wrong context
How to reproduce:
1. Create a new blend file without a compositing node tree
3. Go to Scripting workspace (node editors should not be visible)
2. In python console type
`bpy.ops.node.new_compositing_node_group`
3. Observe crash

The reason is that `node_composit_poll_rlayers()` fails because the
Render Layers node cannot be added to a non local compositing node
tree. This restriction was removed so the poll should succeed.

Pull Request: https://projects.blender.org/blender/blender/pulls/140222
2025-06-13 12:07:52 +02:00
Pratik Borhade
1d83e9bfe3 Fix #140224: Group ID in drag search of merge layer is not working
This is due to missing `make_available` callback for Group ID socket.
Use it to change the mode of the merge layer node so that socket is
available in `connect_available_socket()`

Pull Request: https://projects.blender.org/blender/blender/pulls/140251
2025-06-13 11:55:19 +02:00
Omar Emara
cf9c419fba Merge branch 'blender-v4.5-release' 2025-06-13 12:17:33 +03:00
Omar Emara
b62ef2cdd6 Compositor: Add forward compatibility for removed storage
This patch removes node init functions that currently exist only for
forward compatibility and moves the logic to the forward compatibility
section of node writing. This is to avoid allocating unused data
throughout the 5.x series.

Pull Request: https://projects.blender.org/blender/blender/pulls/140273
2025-06-13 11:15:51 +02:00
Sebastian Parborg
a75fcd5d4a VSE: Make cache eviction a bit smarter when wrapping.
Also fix some minor cache and prefetch bugs that became more noticeable
with these changes.

Pull Request: https://projects.blender.org/blender/blender/pulls/139635
2025-06-13 11:12:41 +02:00
Sebastian Parborg
5bd03f3618 VSE: Move the seq prefetch setting to the cache tab and turn on per default 2025-06-13 11:12:34 +02:00
Sebastian Parborg
c0c03005e5 VSE: Clear out caches when toggling them off
We wouldn't clear the cache we disabled leading to end users needing to
trigger cache refreshes to eventually clear out the cache that they
disabled.

This also fixes a minor issue where the prefetch would try to prefetch
even if there were no caches enabled.
2025-06-13 11:12:34 +02:00
Sebastian Parborg
3192186485 VSE: Fix endless prefetch loops
Sometimes we could get into scenarios where the prefetch would stop and
restart endlessly. Now we only stop the prefetch job when we don't want
to continue to prefetch anymore. Before we would exit when there is
currently no more prefetch work to do.
2025-06-13 11:12:34 +02:00
Sebastian Parborg
38b178f7db VSE: Make prefetch RAW cache aware
Before this change prefetching would not work correctly with only RAW
caches. The RAW caches wouldn't previously be emptied either if
switching them off while prefetching was turned on.
2025-06-13 11:12:34 +02:00
Sebastian Parborg
7a291d6e5f VSE: Make prefetch aware of playback loops
Now the prefetch will start prefetching from the start frame if it hits
the end frame and still have cache space to spare. This improves
playback when playing loops. It also makes it possible for end users to
define an area to pre-fetch by setting the preview range.
2025-06-13 11:12:34 +02:00
Clément Foucault
a639f99987 Fix #140325: EEVEE: Uninitialized memory used in raytracing specialization
These two variables were only set during `trace()` and not for
`warm_shader_specialization`.
2025-06-13 11:05:11 +02:00
Jacques Lucke
323e1432e7 Merge branch 'blender-v4.5-release' 2025-06-13 10:17:46 +02:00
Jacques Lucke
d21d7702ca Fix #140289: only show link warnings when link is visible 2025-06-13 10:17:19 +02:00
Bastien Montagne
ec02c89666 Cleanup: BLO: Remove last bits of endianness handling in readfile.cc
Forgot to remove this once we decided to not keep BE support for the
thumnailer.
2025-06-13 09:49:40 +02:00
Bastien Montagne
a91dbf1d41 Cleanup: Warnings in non-debug builds. 2025-06-13 09:49:40 +02:00
Campbell Barton
1a479122eb Fix the animation player making multiple calls to free depsgraph nodes
More of a technicality as it didn't seem to cause problems.
2025-06-13 16:11:25 +10:00
Campbell Barton
4f4ce05435 Fix memory leak with the animation player exited with an error
When dropping files onto the player window the animation the player
would restart, freeing everything except for the GHOST_System.
This caused a memory leak in the case of an error, returning without
freeing the system.

Resolve by freeing the system along with everything else.
2025-06-13 15:49:17 +10:00
Campbell Barton
7f86b957ae CMake: include GFLAS & GLOG as system headers
These were already treated as system headers in some places.
2025-06-13 12:46:58 +10:00
Sean Kim
6640729191 Merge branch 'blender-v4.5-release' 2025-06-12 19:41:02 -07:00
Sean Kim
9c946e87a5 Fix #140305: Smooth Paint brush corrupts color attribute data
Pull Request: https://projects.blender.org/blender/blender/pulls/140311
2025-06-13 04:39:53 +02:00
Campbell Barton
a16d68b625 CMake: suppress GCC warnings in ./extern/bullet 2025-06-13 11:56:43 +10:00
Campbell Barton
8e1bca3ce4 CMake: suppress noisy deprecated-copy warnings in freestyle 2025-06-13 01:46:40 +00:00
Campbell Barton
63600f806b Cleanup: spelling in comments (make check_spelling_*) 2025-06-13 11:23:28 +10:00
Campbell Barton
e10f0a9c58 Merge branch 'blender-v4.5-release' 2025-06-13 11:22:55 +10:00
Campbell Barton
51b1ade20d Cleanup: spelling in comments 2025-06-13 10:55:53 +10:00
Campbell Barton
9422e4ddcf CMake: exclude "-Wextra" when removing strict flags
Having "extra" warnings caused too many warnings in areas
not actively maintained by Blender developers
(./extern/ and some of ./intern/).
2025-06-13 10:55:27 +10:00
Campbell Barton
8c6eea4a2a CMake: exclude "-Wextra" when removing strict flags
Having "extra" warnings caused too many warnings in areas
not actively maintained by Blender developers
(./extern/ and some of ./intern/).
2025-06-13 00:52:37 +00:00
John Kiril Swenson
a37c5e7d6c Fix: API doc build error after adding asset to context
Introduced by 3f9c943243.
2025-06-12 15:36:42 -05:00
Sean Kim
9e2ab3d7a6 Merge branch 'blender-v4.5-release' 2025-06-12 13:13:13 -07:00
Sean Kim
858d767413 Cleanup: Silence unused function warning
Pull Request: https://projects.blender.org/blender/blender/pulls/140307
2025-06-12 22:12:00 +02:00
Harley Acheson
ca3076ed35 UI: Improved Display as Panels Narrow
As panels narrow to extremes the various parts overlap oddly. this PR
improves this by fading out icons as their available space becomes too
narrow to fit. Other items stop displaying under limits.

Pull Request: https://projects.blender.org/blender/blender/pulls/136581
2025-06-12 21:57:50 +02:00
Sean Kim
5be3b6acdb UI: Expose 'Region Toggle Pie' without Developer Extras
As discussed recently in the Sculpt, Paint & Texture module meeting.
There is a desire to move this setting out from being hidden behind
developer extras so that it can be discovered more easily.

Unlike other experimental options, the ability to toggle this setting is
still present in release builds.

Pull Request: https://projects.blender.org/blender/blender/pulls/140169
2025-06-12 21:05:25 +02:00
Harley Acheson
7c110f265e UI: Snapping for Sidebars
This PR adds snapping to the sizes of various Sidebars, showing only
the category tabs. While in this state you can click a tab to expand
out that panel, click again to hide it.

Pull Request: https://projects.blender.org/blender/blender/pulls/136575
2025-06-12 20:38:35 +02:00
Sean Kim
187d27b2ec Merge branch 'blender-v4.5-release' 2025-06-12 11:28:37 -07:00
Sean Kim
f77b1e871d Tests: Add UI tests that verify loading all default workspaces
While individual modes have UI tests related to undo, this new set of
tests in this new file is intended to be a set of very broad sanity
tests that catch the most egregious errors that cause crashing on start
up, whether due to python errors, UI rendering issues, or otherwise.

Running these tests takes approximately 4 seconds currently as it adds
and verifies the loading of each of the workspaces available "out of
the box" to a blender user.

Pull Request: https://projects.blender.org/blender/blender/pulls/139318
2025-06-12 20:27:38 +02:00
Sean Kim
0b3e4a221c Cleanup: Convert SubdivCCGAdjacencyType to enum class
Pull Request: https://projects.blender.org/blender/blender/pulls/140255
2025-06-12 20:26:50 +02:00
Pablo Vazquez
edd1bad406 UI: Add icons to Visible Tabs list popover
Add icons to the list of `Visible Tabs` in the Properties Editor
popover, to make it easier to tell which tab corresponds to which.

See pull request for screenshots.

Pull Request: https://projects.blender.org/blender/blender/pulls/140302
2025-06-12 20:18:49 +02:00
Aras Pranckevicius
68111db969 Nodes: Speedup Voronoi by changing the hash function
The 2D->2D, 3D->3D, 4D->4D hash functions used in Voronoi node were
using quite an expensive hash function. Switch these to dedicated
2D/3D/4D hash functions (pcg2d, pcg3d, pcg4d) -- these are still very
good quality, but the hash function itself is 3x-4x faster.
Which makes Voronoi node calculation overall be around 2x faster. In
some cases when using OSL, the speedup is even larger.

This visibly changes output of the Voronoi noise however. The actual
noise "behaves" the same, just if someone was depending on the noise
pattern being exactly like it was before, this will change the pattern.

Images, more performance results and details wrt OSL are in the PR.

Pull Request: https://projects.blender.org/blender/blender/pulls/139520
2025-06-12 20:07:52 +02:00
Pablo Vazquez
7818082d02 UI: Theme: Add global style for panel colors
Move panel header, panel background, and sub-panel background color
settings to be global, under `User Interface`, like other widgets.

Remove per-editor panel styling. This way users can edit the panel
colors once, and affect all panels.

See pull request for screenshots and details.

Pull Request: https://projects.blender.org/blender/blender/pulls/140295
2025-06-12 20:05:34 +02:00
Jesse Yurkovich
283666675c Merge branch 'blender-v4.5-release' 2025-06-12 10:33:38 -07:00
Jesse Yurkovich
37f8616bd5 Fix #140225: Always ensure mesh topology is up to date during USD import
It is possible for a mesh to change topology across frames but still be
detected as not needing a topology update.

Until we can make a finer-grained check against the before and after
topology, unconditionally ensure it's updated for now.

Adds a new test that checks a few frames of changing topology that is
similar, but not the same.

Pull Request: https://projects.blender.org/blender/blender/pulls/140253
2025-06-12 19:32:43 +02:00