Commit Graph

107815 Commits

Author SHA1 Message Date
Philipp Oeser
e81cf496cf Merge branch 'blender-v4.1-release' 2024-03-15 15:06:11 +01:00
Jacques Lucke
9fc8ce49f5 Fix #119464: missing update after socket reorder
Without the update tag, the tree topology cache is not recomputed.

Pull Request: https://projects.blender.org/blender/blender/pulls/119506
2024-03-15 15:00:53 +01:00
Germano Cavalcante
247524bb35 Fix: UV Edge Slide sometimes fails to detect correct direction
In this case, the situation in which edges share faces connected to
each other could fail as it could pass through a slide edge.
2024-03-15 10:37:59 -03:00
Pratik Borhade
47940cdb5b GPv3: Insert duplicate keyframe when erasing
When drawing is visible in 3d-view and playhead is not over keyframe, in
such case erase tool is erases everything (or let's say it adds empty
keyframe). Erasing works correctly if additive drawing is enabled but
this is also expected to work when additive drawing is disabled.

Pull Request: https://projects.blender.org/blender/blender/pulls/119051
2024-03-15 12:12:21 +01:00
Jeroen Bakker
96a8f5b36c Fix: EEVEE-Next: Quick fix for overscan
With the recent changes introduced by the mixed resolution rendering
overscan and border rendering broke. Overscan is also used by the test
cases and fails the current tests.

This is a quick fix to get the overscan working.

NOTE: overscan + mixed resolution rendering will look blurry.
NOTE: this doesn't fix border rendering.
2024-03-15 12:06:03 +01:00
Aras Pranckevicius
6826efdb02 Fix #119456, #119493: VSE adjustment/text strips do not update in some cases
As part of PR #118396 the "generator" effect strips (color, text,
adjustment) also started to put their "raw" images into the cache.
However, seq_cache_timeline_frame_to_frame_index that has optimization
that tries to use only one cache entry based on how many frames are
present in the strip was not expecting to see effect strips, ever.

As a result, something like adjustment layer would effectively just
cache a single frame, since it has no "source frames" to speak of.

Fixed that by only doing this optimization for non-effect strips.
2024-03-15 10:37:30 +02:00
Campbell Barton
0b9ef9ee2a Fix missing newline from bpy.utils.register_cli_command doc-string 2024-03-15 13:45:06 +11:00
Sean Kim
2e6a8ae49c Cleanup: Add docs to lasso and line gesture
This PR adds an explanation to the Lasso Gesture doxygen
section of the generic `wm_gesture_ops.cc` file.

Pull Request: https://projects.blender.org/blender/blender/pulls/119490
2024-03-15 00:27:12 +01:00
Hans Goudey
15c060548a Fix: Build error in lite build after boolean change 2024-03-14 18:50:25 -04:00
Hans Goudey
972c52feb9 Cleanup: Use enum class for boolean operation
Similar to the recently introduced `Solver` enum. This is just friendlier
and doesn't require including `DNA_node_types.h` in the geometry
module header. There's no strong benefit to declaring these enums in
DNA in practice.
2024-03-14 17:24:27 -04:00
Harley Acheson
a9d5833f29 UI: No Default Icon for Small Python Confirmations
With #118346 we want the new small confirmations to have no icon by
default. I forgot to set this as the default when called via Python.

Pull Request: https://projects.blender.org/blender/blender/pulls/119489
2024-03-14 21:45:07 +01:00
Harley Acheson
3d85765e14 UI: Position of Tooltips for Labels
Move tooltip position to mouse position rather than bottom of the
region for labels that are taller than one line.

Pull Request: https://projects.blender.org/blender/blender/pulls/117879
2024-03-14 21:35:11 +01:00
Howard Trickey
e3f030cce6 Geometry Nodes: Add float solver to mesh boolean node
This adds a "Solver" option to the geo boolean node, with the options
Exact and Float.
The current geo boolean node only uses the Exact solver.
This adds the ability to use the faster original floating point boolean solver.
The float solver has issues with coplanar and other coincident geometry,
but is generally much faster than the Exact solver, and users have asked
for this option (which is available in the Boolean Modifier and edit mode
boolean tool).

Like the modifier, the Float solver needs to convert the Mesh to BMesh,
do the operation, and then convert back to Mesh. It also has to do it
iteratively if more than two operands are supplied.

This is the first of a planned series of commits that will add a
new exact boolean solver, based on the Ember paper, as a solver option.
Ember will be much faster than the current exact solver, but may still not
be as fast as float, and also will not handle some non-volume-enclosing
inputs as well as Float, so it is likely that the Float solver will always remain.
We may eventually retire the old Exact Solver, however.

This commit also prepares for more sensible code in the future by
changing the internal enum names for the solvers to better reflect the
algorithms used: Fast -> Float, and Exact -> Mesh_Arr (which means
"Mesh Arrangments, the name of the paper upon which the current
exact solver is based).

Co-authored-by: Howard Trickey <trickey@google.com>
Co-authored-by: Hans Goudey <hans@blender.org>
Pull Request: https://projects.blender.org/blender/blender/pulls/119294
2024-03-14 20:49:57 +01:00
Harley Acheson
08cd80a284 Fix #118066: File Browser List View Tooltips
In File Browser list view show tooltips for both the icon and the name
portion of the line to consistently show them no matter where you hover

Pull Request: https://projects.blender.org/blender/blender/pulls/118071
2024-03-14 20:20:50 +01:00
Jason Fielder
6b56ed3cd3 Metal: Resolve artifact in EEVEE Next Film Cryptomatte
Cryptomatte passes would generate a feathered outline
in Metal due to missing texture fence in chained
read->modify->write->read->... patterns.

Added imageFence function to explicitly state that
imageStore's should be visible to future imageLoad's.

Authored by Apple: Michael Parkin-White

Pull Request: https://projects.blender.org/blender/blender/pulls/119163
2024-03-14 17:48:30 +01:00
Falk David
8b01578826 GPv3: Expose stroke depth order setting in the UI
This exposes the `stroke_depth_order` setting.
The enum is added to a `Settings` panel in the object-data properties.
2024-03-14 17:26:14 +01:00
Falk David
3cc933d024 GPv3: Conversion: Convert some object-data flags
This adds conversion for the following flags:
- `GREASE_PENCIL_ANIM_CHANNEL_EXPANDED`
- `GREASE_PENCIL_AUTOLOCK_LAYERS`
- `GREASE_PENCIL_STROKE_ORDER_3D`

Note: The last two are not expose through the UI yet.
2024-03-14 17:26:14 +01:00
Harley Acheson
7a13f0a14d Merge branch 'blender-v4.1-release' 2024-03-14 09:23:14 -07:00
Harley Acheson
479342b1cf UI: Correct Splash RGB Image Corner Rounding
Our splash screen rounds the top corners of the featured image. However
this requires an alpha channel, so an RGB image will not look rounded.
This PR just ensures a 32 plane count.

Pull Request: https://projects.blender.org/blender/blender/pulls/119473
2024-03-14 17:22:22 +01:00
Sergey Sharybin
74d948097f Merge branch 'blender-v4.1-release' 2024-03-14 17:11:45 +01:00
Raul Fernandez Hernandez
62b0c461fb Fix #87243: Crash after undo "Mask slice to new object"
Fix for a crash after undo "Mask slice to new object"

When creating a new mesh object in the mask slice operator in
sculpt mode it caused a crash when undo to the initial undo step.
Moreover saving the sculpt undo state seems not necessary in
this function since undo/redo doesn't really work reliably for this
operator from the start, but there is nothing can be done about it
without systemic changes.

Note: this PR replaces #119401
Pull Request: https://projects.blender.org/blender/blender/pulls/119443
2024-03-14 17:10:28 +01:00
Sergey Sharybin
6aa21ed752 Fix: incorrect GPU ownership after IMB_dupImBuf
The IMB_dupImBuf() function does not copy the GPU texture as it might
not be possible if the GPU context is not active, but it also was not
clearing the pointer in the result ImBuf. This could potentially lead
to situation when the texture gets freed via IMB_freeImBuf of either
original or copied image buffer, leaving the other pointing to a freed
GPU texture.

It is not known whether it ever was an actual problem for artists,
but it is nice to avoid such possibility.

Pull Request: https://projects.blender.org/blender/blender/pulls/119469
2024-03-14 17:09:33 +01:00
Raul Fernandez
2e7395e07b Fix #87243: Crash after undo "Mask slice to new object"
Fix for a crash after undo "Mask slice to new object"

When creating a new mesh object in the mask slice operator in
sculpt mode it caused a crash when undo to the initial undo step.
Moreover saving the sculpt undo state seems not necessary in
this function since undo/redo doesn't really work reliably for this
operator from the start, but there is nothing can be done about it
without systemic changes.

Note: this PR replaces #119401
Pull Request: https://projects.blender.org/blender/blender/pulls/119443
2024-03-14 17:01:49 +01:00
Falk David
6a320524b9 Fix: GPv3: Function use_masks returns wrong value
This fixes an issue where the `use_masks` functions on layers
and groups returned the wrong value.
The issue was that the root group doesn't have this flag set
which then propagates to all the layers and groups.
To fix this we invert the `GP_LAYER_TREE_NODE_USE_MASKS` flag (now called `GP_LAYER_TREE_NODE_HIDE_MASKS`).

The API still uses the `use_masks` function.
2024-03-14 15:25:23 +01:00
Sybren A. Stüvel
af7a68d31f Refactor: reduce indentation in ANIM_nla_mapping_get()
Flip conditions and use early returns to simplify `ANIM_nla_mapping_get()`.

No functional changes.

Pull Request: https://projects.blender.org/blender/blender/pulls/119463
2024-03-14 15:10:01 +01:00
Jason Fielder
0ac7dd966c Metal: Chunked loop unroll for lightprobe sample
The Metal shader compiler was previously fully unrolling
lightprobe sampling, resulting in long compile times of
70+ seconds and high instruction counts.

Implementing Chunked unrolling to retain benefits of
unrolling e.g. latency hiding, while reducing register
pressure and improving compile time significantly.
(Only 800ms vs 70,000ms).

Authored by Apple: Michael Parkin-White

Pull Request: https://projects.blender.org/blender/blender/pulls/119333
2024-03-14 14:21:08 +01:00
Brecht Van Lommel
f131709122 Merge branch 'blender-v4.1-release' 2024-03-14 14:12:05 +01:00
Brecht Van Lommel
e9ca817d5f Fix #119419: Crashes with incompatible OpenColorIO configs
* If required roles are not found, refuse to load the config
* Use "default" role as fallback for all roles, following the
  OpenColorIO docs.
* Use bundled config if loading environment config fails,
  instead using very limited fallback config.
* Fix OCIO_exit get called on failed config load, causing
  crash when trying to load the next config.

Pull Request: https://projects.blender.org/blender/blender/pulls/119435
2024-03-14 14:08:56 +01:00
Brecht Van Lommel
a887ec8f38 Cleanup: Move variable definitions closer to use, other style tweaks
Pull Request: https://projects.blender.org/blender/blender/pulls/119435
2024-03-14 14:08:12 +01:00
Falk David
a5229ed125 GPv3: Add layer masks operators and UI
Layer masks were partly already there. This PR completes the implementation and expose them through the UI.

This also adds three operators to:
- add a layer mask
- remove a layer mask
- reorder layer masks

Note: These are not used by the renderer yet. Will be done in a following PR.

Pull Request: https://projects.blender.org/blender/blender/pulls/119433
2024-03-14 14:07:37 +01:00
Falk David
66968e37fa GPv3: Add layer blend mode to the UI
Adds the `blend_mode` property to RNA and exposes it in the UI.

Note: This is not used by the renderer yet. Will be added in a following PR.

Pull Request: https://projects.blender.org/blender/blender/pulls/119460
2024-03-14 14:05:29 +01:00
Hans Goudey
6072a641ee Cleanup: A few small tweaks in asset library code
- Fix a typo
- Remove unnecessary namespace specification
- Use "this" to access class methods
2024-03-14 08:49:21 -04:00
Hans Goudey
961d8ef6d5 Fix #119426: Enabling dyntopo creates duplicate mask attribute
The CustomData API automatically creates a unique attribute with
a unique name for generic data types. Caused by f2bcd73bd2.

Pull Request: https://projects.blender.org/blender/blender/pulls/119441
2024-03-14 13:22:08 +01:00
Christoph Lendenfeld
fc025abde6 Anim: Use Theme for Motion Path points
This PR changes the motion path appearance by using the
`Vertex` color as defined in the 3D viewport theme settings
instead of hardcoding it to white.

The issue with setting it to white is that it is too visually distracting,
overshadowing the points that are keyframes, which are drawn in
the selection color for vertices (also defined in the Theme)

Pull Request: https://projects.blender.org/blender/blender/pulls/119382
2024-03-14 13:14:20 +01:00
Omar Emara
a3587ee078 Fix: Anti-Aliasing node contrast limit has no effect
The Anti-Aliasing node contrast limit has no effect. This is due to a
typo in the code, where the threshold was used internally as the
contrast limit instead.
2024-03-14 11:53:43 +02:00
Campbell Barton
61dd7cc117 Transform: restore default rotation snapping increments
Use snapping increments matching values used before this was
customizable. [0] changed snapping increments from 5 degrees to 15,
from 1 to 5 degrees with precision enabled.

[0]: 060174cf14
2024-03-14 20:15:28 +11:00
Falk David
a07a558ac5 GPv3: Add view layer name property
This adds the `viewlayername` property to grease pencil v3 layers.
It's exposed as `viewlayer_render` in python.

Note: this is not used in the renderer yet. Will be used in a following PR.
Pull Request: https://projects.blender.org/blender/blender/pulls/119422
2024-03-14 10:15:07 +01:00
Jason Fielder
ecffea86b1 Metal: Fix Storage buffer read sync affecting surfels
Authored by Apple: Michael Parkin-White

Pull Request: https://projects.blender.org/blender/blender/pulls/119093
2024-03-14 09:40:59 +01:00
Campbell Barton
09666e1498 Fix #119387: Precision transform fails to activate
Regression in [0] caused precision fail to activate in the graph editor
and when pressing shift then control (#119395).

[0]: 060174cf14
2024-03-14 11:20:19 +11:00
Pratik Borhade
847d369fbb Fix #119271: Update stats when switched between workspaces
When workspace is switched, send notifier to clear `view_layer->stats`
then update the stats with repsect to new object interaction mode.

Pull Request: https://projects.blender.org/blender/blender/pulls/119418
2024-03-14 00:42:21 +01:00
Harley Acheson
7852e0a551 Merge branch 'blender-v4.1-release' 2024-03-13 15:02:59 -07:00
Guillermo Venegas
1640121a63 Fix #119183: Use valid style for popup text size calculation
The current font style can be overridden with a input or other widget text style,
this change ensures that the right font style is set so `BLF_width` don't use a
overridden font text style.

Pull Request: https://projects.blender.org/blender/blender/pulls/119442
2024-03-13 23:01:58 +01:00
Iliya Katueshenock
d562a9ce43 Fix #118883: Face Corner component shows in Delete Geometry node
Pull Request: https://projects.blender.org/blender/blender/pulls/118917
2024-03-13 15:38:44 -04:00
Hans Goudey
b5082f6640 Refactor: Simplify BLI_serialize.hh for asset indexer
- Remove the unnecessary `ContainerValue` from the class hierarchy
- Construct `StringValue` with a `std::string` by value to avoid copies
- Remove some indirection by using type names directly instead of aliases
- Use utility methods to lookup/append specific data types for arrays/dicts
- Simplify conversion from unique_ptr to shared_ptr
- Avoid use of `new` and `delete`
- Avoid creating maps of all elements in vector for a single lookup
2024-03-13 14:52:57 -04:00
Hans Goudey
ae12c1bd92 Refactor: Remove unnecessary indirection from classes in asset indexer
The `AssetEntryReader` and `AssetEntryWriter` classes were only used
once and just added indirection hiding the actual logic of reading and writing
asset metadata from the index. It also hid double map lookups and extra
string copies/allocations.
2024-03-13 14:52:57 -04:00
Hans Goudey
24c9f736ff Cleanup: Follow style guide for use of "this" in classes
Also simplify iteration over map keys and slightly simplify string hash.
2024-03-13 14:52:57 -04:00
Germano Cavalcante
f6a581e28a UV: Vert and Edge Slide UI improvements
Changes:
- Add Vert Slide and Edge Slide to 'UV -> Transform' menu.
- Add a separator for Vert Slide and Edge Slide in the context menu.
- Don't display the "Correct UVs" option in the Redo menu of UV Editor.
2024-03-13 12:16:19 -03:00
Germano Cavalcante
31745a53f4 Cleanup: early return & avoid compare strings unnecessarily
`transform_poll_property` can be smarter in the conditions.
2024-03-13 12:16:18 -03:00
Thomas Dinges
51a3c03072 Release: Bump to 4.1 RC.
Splash screen by Lynxsdesign
2024-03-13 15:52:53 +01:00
Hans Goudey
6b671c4b54 Cleanup: Use simpler lambda capture
It's typically only worth specifying specific captures when the lambda
is stored as a function object for use later. Since this is just passed
as a FunctionRef as an iteration callback, we can use a less complex
capture here. That also helps clarify that this isn't a callback.
2024-03-13 10:42:00 -04:00