Commit Graph

120055 Commits

Author SHA1 Message Date
Jacques Lucke
57e925b38f Fix: don't show grease pencil domain in Domain Size node
This fixes part of #123935. The change has to be reverted
in the `main` branch.
2024-07-05 18:09:38 +02:00
Jacques Lucke
da2a262658 Fix: don't show layer domain in viewer node
This fixes part of #123935.
2024-07-05 18:09:38 +02:00
Miguel Pozo
b20bacf657 Fix #123758: Viewport Render Animation doesn't track World updates
Viewport instances created by the Viewport Render Animation operator
don't get `view_updated` notifications.
Fix update detection by implementing a `last_update` timestamp for
`World`, similar to the ones added in #115196.

Pull Request: https://projects.blender.org/blender/blender/pulls/124114
2024-07-05 18:05:27 +02:00
Christoph Lendenfeld
c446813dd3 Fix #123943: manual channel ordering no longer works
The issue was that the function `animfilter_action` got a new
code segment at the start which checked `if (action.is_empty())`.
That function didn't check if the `groups` list of the action is empty
though. Regular keyframe animation is usually sorted into
keyframe groups, which means it is not stored under `curves` of the action.
However in the anim filtering code, the function `split_groups_action_temp`
moves the fcurves to their groups under the `groups` listbase.

Pull Request: https://projects.blender.org/blender/blender/pulls/124172
2024-07-05 17:56:45 +02:00
Jacques Lucke
e4c9b73051 Fix #124160: crash when trying to load unavailable grid
The openvdb API was used incorrectly before. I didn't notice that this is
a static function and requires the type to be passed in.

Note that this does not solve the cache invalidation issue yet. Instead
it handles the case more gracefully when the stored .vdb file changes
when Blender doesn't expect it to change.
2024-07-05 17:55:04 +02:00
Sybren A. Stüvel
0aa75ab57b Refactor: rename "Animation data-block" to "Action"
Rename "Animation data-block" to "Action" or "Layered Action", where
appropriate. Some uses of the term actually refer to the `AnimData`
struct, in which case they were left as-is.

No real functional changes, just changing some messages & descriptions.

Pull Request: https://projects.blender.org/blender/blender/pulls/124170
2024-07-05 17:52:55 +02:00
Sybren A. Stüvel
c0364efec0 Refactor: rename 'Action Binding' to 'Action Slot'
Rename 'Binding' to 'Slot'. The old term was causing all kind of
confusion, and 'slot' was considered to be a better term for the
intended functionality.

This commit breaks existing blend files that were using the new layered
Action for their animation. The animation data will be lost due to the
rename, as there is no versioning code or DNA renaming logic. At this
time the new system is still marked as experimental, so shouldn't be
used for anything serious anyway.

Pull Request: https://projects.blender.org/blender/blender/pulls/124170
2024-07-05 17:52:55 +02:00
Dalai Felinto
e969769a0c UI: Extensions: Update the tooltip for Allow Online Access
Some users were concerned that the tooltip wasn't clear enough on
indicating that Blender doesn't really inforce an offline mode.

The final text was a collaborative effort together with the UI team and
participants from the user-interface-module chat.

The tooltip talks about internet instead of specifically extensions or
repositories to leave room to be used in the future for other things
(e.g., for Blender to check for new release updates).
2024-07-05 17:49:10 +02:00
Dalai Felinto
7f6feb2872 UI: Extensions: Update the tooltip for Allow Online Access
Some users were concerned that the tooltip wasn't clear enough on
indicating that Blender doesn't really inforce an offline mode.

The final text was a collaborative effort together with the UI team and
participants from the user-interface-module chat.

The tooltip talks about internet instead of specifically extensions or
repositories to leave room to be used in the future for other things
(e.g., for Blender to check for new release updates).
2024-07-05 17:44:03 +02:00
Hans Goudey
ecebf94e25 Fix #124212: Edit mode undo crash with no faces
Just a missing null check here.
Caused by 734e9fa4b8.
2024-07-05 11:26:22 -04:00
Sebastian Parborg
75959af2ed Merge branch 'blender-v4.2-release' 2024-07-05 17:25:03 +02:00
Sebastian Parborg
f853d097a5 Fix: GLSL error in the sequencer when running mesa
It would error out with "illegal use of reserved word 'active'"
Rename the boolan value to not use the reserved word.
2024-07-05 17:22:52 +02:00
Iliya Katueshenock
a2a5532818 Fix #121110: Allow changing type of reroute node sockets
Simple fix to avoid regression of reroute sockets in a custom nodes system.
Proper solution will be in 4.3: #121146.

Pull Request: https://projects.blender.org/blender/blender/pulls/124244
2024-07-05 17:14:54 +02:00
Sergey Sharybin
1bb12fda96 Merge branch 'blender-v4.2-release' 2024-07-05 16:55:04 +02:00
Sergey Sharybin
e9d46b52df Fix #124109: Blender Crash on certain verticles in Dyntopo
Caused by 396ad5db83

It is possible that some edge collapsing of non-manifold mesh will
eventually result in extra wire edges, and loose vertices. This was
not properly handled in the boundary checks, assuming that all
modifications preserve mesh manifold.

This fix avoids the crash by adding nullptr check in the boundary
check.

While this is not fully ideal from the result perspective, it is
a safe change for 4.2. Ideally the wire edges and loose vertices
will be removed, but this is a bigger and more risky change. Also,
in Blender 4.0 it was possible to generate loose geometry in
dyntopo as well, so it just a general improvement to happen (and not
a regression).

Pull Request: https://projects.blender.org/blender/blender/pulls/124236
2024-07-05 16:54:29 +02:00
Pratik Borhade
1ca8dce9cc Fix: Assert when calling node tool
similar to f4ef3de32b

Pull Request: https://projects.blender.org/blender/blender/pulls/124220
2024-07-05 16:41:46 +02:00
Hans Goudey
b4c5334af7 Sculpt: Use new "offset brush" implementation for brush gravity
Part of #118145.
2024-07-05 10:31:36 -04:00
Hans Goudey
993361c2f0 Sculpt: Data oriented refactor for topology slide brush
Part of #118145.
Note that topology relax isn't affected here, only the slide part of the
brush. I did make one small logic change-- the brush strength is now
applied to the final translations rather than taken into account when
adding the influence from every vertex neighbor. The behavior doesn't
seem meaningfully different that way and it's easier to use common
utilities.
2024-07-05 10:20:22 -04:00
Hans Goudey
7c9b323b56 Cleanup: Sculpt: Changes for consistency in draw sharp brush 2024-07-05 10:20:22 -04:00
Lukas Stockner
fad8d451ef Fix: MEM_new/MEM_freeN mismatch in Curvemap UI 2024-07-05 15:32:02 +02:00
Falk David
a9c0dc9084 GPv3: Draw Tool: Trim Stroke Ends option
This adds the "Trim Stroke Ends" option to the GPv3 draw tool.
It uses the same core function as the Cutter tool.

Pull Request: https://projects.blender.org/blender/blender/pulls/124232
2024-07-05 14:42:50 +02:00
Pratik Borhade
924aa88877 Fix #124082: GPv3: New frames created in sculpt mode are empty
Allow inserting duplicate keys of visible drawing when using sculpt tools.
Added new variable `is_tool_supported` to include cases where
duplicating drawings is required.

Pull Request: https://projects.blender.org/blender/blender/pulls/124087
2024-07-05 14:09:08 +02:00
Falk David
969efcad7b Refactor: GPv3: Move core cutter function
This moves the core of the cutter tool to
`ed::greasepencil::cutter::trim_curve_segments`.
This is in preperation for the draw tool which
also needs to be able to trim the stroke.

No functional changes expected.
2024-07-05 13:47:26 +02:00
Sybren A. Stüvel
b33ad47ee0 Anim: fix unsafe use of BLI_snprintf_rlen() in the NLA drawing code
Replace `BLI_snprintf_rlen()` with `STRNCPY_RLEN()`, as the string to
copy is not actually a printf-style format string, but just a plain string.

Pull Request: https://projects.blender.org/blender/blender/pulls/124228
2024-07-05 13:39:05 +02:00
Campbell Barton
4282187e72 Merge branch 'blender-v4.2-release' 2024-07-05 20:49:42 +10:00
Jeroen Bakker
0597cd4f76 Fix #124060: EEVEE raytracing on Intel Arc
EEVEE Raytracing on Intel Arc wasn't working as there were no rays
generated. The reason was that the raytract tile compact shader
didn't set count the correct tiles it needed due to atomic operations
that were initialized without atomic.

This PR solves the issue by using atomic operations to initialize
the counts. We also tried memory barriers but that didn't fix the
problem.

Other shaders were also tested if they have this issue, but they were
setup in a specific shader or where done using a race condition (SSS) which
is working.

Pull Request: https://projects.blender.org/blender/blender/pulls/124213
2024-07-05 12:37:44 +02:00
Aras Pranckevicius
eafcd66c0a Merge branch 'blender-v4.2-release' 2024-07-05 12:35:59 +03:00
Aras Pranckevicius
c4534909b2 Fix #123578: VSE active but unselected strip outline visual tweak
Instead of making the dark outline be bright for active but unselected
strips, make it have dark outline just like all other strips,
and a 1px inner bright line inside of that.

Pull Request: https://projects.blender.org/blender/blender/pulls/124210
2024-07-05 11:35:18 +02:00
Aras Pranckevicius
bad2e774ca Merge branch 'blender-v4.2-release' 2024-07-05 12:28:28 +03:00
Aras Pranckevicius
bc6e90d40d Fix #123540: VSE thumbnails sometimes have 1px gap on the right side
Because a thumbnail image can get cropped, we can not calculate
horizontal zoom factor once for all thumbnails. Cropping happens
at integer coordinates, so recalculate zoom_x for each thumbnail
based on final image size.

Pull Request: https://projects.blender.org/blender/blender/pulls/124178
2024-07-05 11:27:48 +02:00
Aras Pranckevicius
8ba25aed02 Merge branch 'blender-v4.2-release'
# Conflicts:
#	tests/data
2024-07-05 12:13:17 +03:00
Aras Pranckevicius
b238df312d Fix #123918: STL exporter does not reverse faces for mirrored objects
Old python STL exporter, as well as other exporters like OBJ,
reverse the face order when object being exported has odd number
of negative scales in the matrix. The C++ STL exporter was lacking
that, resulting in the exported object looking "inside out".

The extra branch inside triangle export inner loop has no measurable
performance impact, probably because it is entirely predictable.

Pull Request: https://projects.blender.org/blender/blender/pulls/124219
2024-07-05 11:08:22 +02:00
Christoph Lendenfeld
e45ec6b591 Fix #109011: OBJECT_OT_shape_key_clear ignores slider min and max
The issue was that the `OBJECT_OT_shape_key_clear` ignored
the slider limits and always reset the value to 0.
Judging by the commit introducing that operator (2e74a6ba30)
the idea was to quickly disable all shape keys.
That means this PR changes that meaning slightly, so I updated the description.

I can foresee a potential issue where users expect the current behavior
with the use case to actually disable all shapekeys.
Given that we have an option now to disable a shapekey without
changing its value (the checkbox) we should look into making a different operator
that utilizes that instead of modifying the value property.

Pull Request: https://projects.blender.org/blender/blender/pulls/123889
2024-07-05 10:53:28 +02:00
Christoph Lendenfeld
23021fab74 Fix #123688: Bone selection broken when linking object data
When linking object data between two armatures the selection would not work
on the armature which got the new armature data assigned.
That is until a bone is added or something else is done to the armature that triggers a rebuild.
The fix is to trigger the rebuild in the link operator.

This only fixes this particular issue, the issue of bone selection sync between armature instances
is not fixed, but tracked in this report #117892

Pull Request: https://projects.blender.org/blender/blender/pulls/123743
2024-07-05 10:49:25 +02:00
Abdelrahman
789bcaae78 GPv3: Port frame_clean_duplicate operator
Port the `frame_clean_duplicate` operator to GPv3.
Resolves #114182.

Pull Request: https://projects.blender.org/blender/blender/pulls/116655
2024-07-05 09:48:20 +02:00
Hans Goudey
92525d6c27 Sculpt: Data oriented refactor for cavity baking
Part of #118145.
Remove the iterator macro and the "sculpt mask write" abstraction.
A few mask utilities have been added/moved to the common mask
code. They'll be useful in a couple more places including the mask
filter.

TODO: Still needs to be tested
Pull Request: https://projects.blender.org/blender/blender/pulls/124131
2024-07-05 05:07:44 +02:00
Richard Antalik
addf1fa84b Merge branch 'blender-v4.2-release' 2024-07-05 00:43:55 +02:00
Richard Antalik
c94bed9afa Fix #114859: VSE Retiming versioning was broken
Retiming versioning used incorrect source for strip length, so produced
inverted strips. Also it tried to scale sound strips by `speed_factor`,
but sound strips did not change length when retimed.

Finally, the original versioning code was in versioning_300.cc file,
even though it was released with 4.0 version.

Pull Request: https://projects.blender.org/blender/blender/pulls/123144
2024-07-04 23:57:34 +02:00
Clément Foucault
f8c80fe1fd Fix: EEVEE: Missing world if only an empty volume object is present
Part 2 of the fix. The previous fix was not enough.

Fixes #124159
2024-07-04 20:46:27 +02:00
Clément Foucault
3777e53acb Fix: EEVEE: Missing world if only an empty volume object is present
With the latest fixes of #124061, the `pipelines.volume.is_enabled`
predicate is now obsolete.
Replace it by `!current_objects_.is_empty()`.

Fixes #124159
2024-07-04 20:32:33 +02:00
Harley Acheson
6fbb5ce8d8 Merge branch 'blender-v4.2-release' 2024-07-04 11:19:14 -07:00
Harley Acheson
26ea1f42c3 Fix #122808: Use Default Font when Vfont Missing
For text objects, current code will use another font if you ask for
a character that is not found in the selected font. But what if the
selected font is invalid? This can happen with a saved Blend that uses
a non-packed font that is since deleted. Current behavior will show
nothing. This PR restores earlier behavior where we use the built-in
font in this case. This does not make any changes to error reporting.

Pull Request: https://projects.blender.org/blender/blender/pulls/124184
2024-07-04 20:18:06 +02:00
Clément Foucault
2149a0b2cc EEVEE: Change local light ray clipping method
The previous one was too conservative and didn't
work with area light.
2024-07-04 20:07:27 +02:00
Clément Foucault
a023499d28 Fix: EEVEE: Make shadow tracing more robust
This commit does multiple things:
- It checks `is_behind_occluder` in all non-extrapolated
  cases. This avoid false positive hit caused by tracing
  basis X axis being almost parallel to the light.
- It checks time only on the last sample. This avoid
  light leaking when the ray poke through some solid
  objects because of raymarching steps.
- Add bias to `is_behind_occluder` to avoid
  precision issues when ray is parallel to the light
  direction.

This reduces noisy area lights but there are still issue
very close to them.

Fixes #123588
2024-07-04 20:07:27 +02:00
Hans Goudey
6e74fb9b69 Fix: Use after free in node tools asset operator menus
The sculpt mode tree wasn't cleared.
2024-07-04 13:21:25 -04:00
Jacques Lucke
91db715a53 Fix: use MEM_delete instead of MEM_freeN for pointcloud batch cache 2024-07-04 18:48:10 +02:00
Omar Emara
609ed59188 Cleanup: Remove unused function 2024-07-04 19:38:04 +03:00
Hans Goudey
83d34acc1f Fix: MEM_new/MEM_freeN mismatch in node editor
We can't use C++ non-trivial allocation for DNA data unfortunately
because the read file system uses c-style allocation with raw bytes
when reading files.

Pull Request: https://projects.blender.org/blender/blender/pulls/124180
2024-07-04 18:27:47 +02:00
Sybren A. Stüvel
e466c5315d Anim: fix compiler warning about double declaration
Fix compiler warning about double declaration of
`get_action_binding_pair()`

No functional changes.
2024-07-04 17:53:42 +02:00
Bastien Montagne
3c6c9ee337 Merge branch 'blender-v4.2-release' 2024-07-04 15:42:25 +02:00