Commit Graph

110275 Commits

Author SHA1 Message Date
Hans Goudey
fb3ac0d178 Cleanup: Remove unnecessary draw brush function declaration
Removed in 782f3411d0
2024-06-11 14:54:00 -04:00
Hans Goudey
68ef1d6f36 Sculpt: Initial data oriented refactor for scrape and fill brushes
Part of #118145.
These two are almost exactly the same. The difference between them
is just an inverted condition and negating the radius. That can be changed
later, maybe by implementing a more advanced fill algorithm. But for the
purposes of this refactor, mainly keep the duplication. I just shared two
functions as a compromise to not duplicate *everything*. It also shows
the reader that the implementations are currently linked without fully
conflating the two and making future changes harder.

Pull Request: https://projects.blender.org/blender/blender/pulls/123038
2024-06-11 20:28:24 +02:00
Bastien Montagne
286319bbe3 Merge branch 'blender-v4.2-release' 2024-06-11 19:56:13 +02:00
Nathan Burnham
6ea1d2131d Fix: PyAPI Doc: unexpected indentation error
7413031dd6 introduced an error and related warning when generating Py API docs:

```
/blender/doc/python_api/sphinx-in/bpy.app.translations.rst:132: ERROR: Unexpected indentation.
...
/blender/doc/python_api/sphinx-in/bpy.app.translations.rst:132: WARNING: Lexing literal_block 'See :func:`pgettext` notes.' as "python3" resulted in an error at token: '`'. Retrying in relaxed mode.
```

Pull Request: https://projects.blender.org/blender/blender/pulls/123097
2024-06-11 19:55:24 +02:00
Brecht Van Lommel
deedb52a7e Merge branch 'blender-v4.2-release' 2024-06-11 19:31:12 +02:00
Fabian-Herb
354b1a5db9 Fix #122933: Enable Compositor OpenImageDenoise on Linux ARM64
Pull Request: https://projects.blender.org/blender/blender/pulls/123066
2024-06-11 19:29:42 +02:00
Hans Goudey
6191212a0f Fix: New sculpt brushes apply inverse deformation to deformed mesh
Currently we have to maintain an array of deformed positions on the
PBVH for historical reasons (once all brushes are refactored it can be
removed). The ported brushes handled it incorrectly though-- they
applied the inverse deformation to the translations applied to the
deformed mesh. Instead we have to apply the inverse deformation
after updating the PBVH's deformed positions.

Pull Request: https://projects.blender.org/blender/blender/pulls/123087
2024-06-11 18:35:10 +02:00
Julian Eisel
e02e78d840 UI: Separate job type for asset library and file list loading
Asset library loading uses the file browser backend (file-list), so it
would use the same job type. The job system makes sure that jobs of the
same type (or actually, with the same start callback)
wait for others of the same type to finish. This can be a problem here,
since loading asset libraries (which can take a while) could conflict
with regular file browers. Having both run in parallel is no issue, they
use local data only.

Also see #123033 to address the added TODO comment.

Fixes #121235

Pull Request: https://projects.blender.org/blender/blender/pulls/123027
2024-06-11 18:31:39 +02:00
Pratik Borhade
950f5eef91 Fix #122883: Crash converting to curves object with no GPv3 drawings
When converting GPv3 object with zero drawings to curves, Blender crashes
due to accessing invalid drawing/offset value.

With `curve to mesh` node, the evaluated `gemoetry_set` had
a dummy GPv3 object data with zero drawings, see
`BKE_grease_pencil_data_update`. Hence, the crash in
`object_convert_exec` while accessing the offset array.

Pull Request: https://projects.blender.org/blender/blender/pulls/123067
2024-06-11 18:29:05 +02:00
Pratik Borhade
cea18e62c5 GPv3: Layer group color tags
Reused the collection color theme option for the layer group.
Introduced new operator change the icon color it can be accessed from
layer group context menu.

Part of #121390.

Pull Request: https://projects.blender.org/blender/blender/pulls/122873
2024-06-11 18:25:01 +02:00
Aras Pranckevicius
165a929196 Merge branch 'blender-v4.2-release' 2024-06-11 19:15:07 +03:00
Aras Pranckevicius
c38951d0f5 Fix #123016: inconsistent VSE timeline strip pixel grid rounding
Previous commit that made VSE strip controls not be blurry (91fa37fecb)
applied "snap to pixel grid" in a wrong place - the rectangle corners
should be snapped, not the center and half-size of it.

Pull Request: https://projects.blender.org/blender/blender/pulls/123065
2024-06-11 18:12:32 +02:00
Miguel Pozo
e80bc3db12 Merge branch 'blender-v4.2-release' 2024-06-11 16:56:05 +02:00
Miguel Pozo
cfd64f2e85 Fix: EEVEE: Fix valid_N setup 2024-06-11 16:55:33 +02:00
Nathan Vegdahl
2eba256719 Improve docs for BKE_animsys_nla_remap_keyframe_values()
The documentation of some of `BKE_animsys_nla_remap_keyframe_values()`'s output
parameters were unclear/misleading, in particular making it unclear how those
output parameters should be used/interpreted by calling code.

This commit attempts to improve that, in particular trying to make it clearer
what actions calling code can/should take based on the returned output
parameters.

Pull Request: https://projects.blender.org/blender/blender/pulls/123081
2024-06-11 16:55:19 +02:00
Miguel Pozo
fb5faf3305 FIx #122915: Diffuse normal input isn't normalized automatically 2024-06-11 16:51:04 +02:00
Nathan Vegdahl
1a4f084806 Refactor: combine insert_keyframe() and insert_key_rna() into a single function
The goal of this PR is to merge `insert_keyframe()` and `insert_key_rna()` into
a single function, `insert_keyframes()`, that fully accommodates the
functionality of both.  This results in a bit of a mega function, which isn't
great, but it centralizes a lot of otherwise redundant keyframing code so it
only needs to be changed in one place in the future.

Future PRs can work to reduce the "mega" aspect of this function, stripping it
down to its core functionality and eliminating left over incidental redundancy
(e.g. passing both `scene_frame` and `anim_eval_context`).

As a wonderful side effect, this PR also makes layered action keyframing work in
most of the remaining places left over from #121661, such as buttons, the
dopesheet, the graph editor, etc.

Pull Request: https://projects.blender.org/blender/blender/pulls/122053
2024-06-11 16:42:55 +02:00
Bastien Montagne
7a9b7f527e Merge branch 'blender-v4.2-release' 2024-06-11 16:39:53 +02:00
Bastien Montagne
60190a7ea7 Cleanup: Move IDProperty enums (types, flags, etc.) to DNA_ID_enums.h
Allows to use typed enum parameters in functions without having to
include the whole `DNA_ID.h` file into other headers.
2024-06-11 16:37:36 +02:00
William Leeson
81d5af15a6 Fix: Crash and or assert in mesh index buffer creation
The mapping was read multiple times from the `map` structure in that time the `map` value could have changed (set to -1). To stop this, the mapping is read once and set to -1 earlier to reduce the possibility to other threads performing the operation and changing the mapping value.

Pull Request: https://projects.blender.org/blender/blender/pulls/123056
2024-06-11 16:13:27 +02:00
Lukas Tönne
e175259f44 Fix #73168: Stop particle draw code from crashing
Not a real fix, just preventing crashes due to broken particle data.
Particle draw code can get into an invalid state, which can crash
drawing code. This just prevents the crash.

Pull Request: https://projects.blender.org/blender/blender/pulls/123075
2024-06-11 15:39:52 +02:00
Lukas Tönne
1e237da1db Fix #123076: Remove UI line for removed property
The `keep_custom_normals` property was removed in
f3c32a36bc.

Pull Request: https://projects.blender.org/blender/blender/pulls/123079
2024-06-11 15:29:01 +02:00
Bastien Montagne
96228e516a Merge branch 'blender-v4.2-release' 2024-06-11 15:14:41 +02:00
Damien Picard
203600d441 Add msgctxt arg to docs 2024-06-11 15:09:09 +02:00
Damien Picard
7413031dd6 I18n: Add Python function to extract messages without translating
The new `pgettext_n` function (typically imported as `n_`) can be used
when there is a need to extract messages, without translating them. It
is essentially a no-op equivalent to the C++ version `N_`.
2024-06-11 15:09:09 +02:00
Campbell Barton
310a941885 Merge branch 'blender-v4.2-release' 2024-06-11 22:40:57 +10:00
Sybren A. Stüvel
9c6905c648 Refactor: reduce cognitive complexity of getname_anim_fcurve()
Use early returns and some other small changes to reduce the indentation
and improve clarity of the `getname_anim_fcurve()` function.

No functional changes.

Pull Request: https://projects.blender.org/blender/blender/pulls/123068
2024-06-11 14:22:52 +02:00
Jeroen Bakker
0f5ddd5807 Fix #123028: Bloom still available as render pass in API and UI
The bloom render pass has been deprecated in Blender 4.2. It was still
visible in the UI in the shading popover and available in the python API.

This PR removes the UI option and deprecated the parts of the python API.
Current add-ons that use this API should still be able to use the API, but
it would not do anything. Add-ons are encourage to remove these calls.

The flags are not cleaned up so they should still work when switching back
to previous Blender versions.

Release notes have been updated to include these changes.

Pull Request: https://projects.blender.org/blender/blender/pulls/123059
2024-06-11 14:16:43 +02:00
Jeroen Bakker
e48ba6c508 Merge branch 'blender-v4.2-release' 2024-06-11 14:12:02 +02:00
Nathan Vegdahl
6ac8f8efad Anim: use keyframing user preferences for layered action keying
This makes the following user preferences/settings work when inserting keys on layered actions:
- Keyframe type ('Keyframe', 'Breakdown', etc.)
- Handle type (auto, auto-clamped, etc.)
- Interpolation mode (bezier, linear, etc.)

Pull Request: https://projects.blender.org/blender/blender/pulls/123006
2024-06-11 14:10:04 +02:00
Jeroen Bakker
af34a8a952 GPU: Fix GLSL compilation error on legacy NVIDIA drivers
Somehow the 16K inside a string is parsed as being an integer, leading
to error messages about the `K` suffix.

```
ERROR (gpu.shader): gpu_shader_icon_multi VertShader:
      |
    1 | #version 430
      |
      | Error: C0159: invalid char 'K' in integer constant suffix
```

Fixed by changing the 16K to the actual number.

Related to #122977 With this PR blender will start, but EEVEE will render pink.

Pull Request: https://projects.blender.org/blender/blender/pulls/123071
2024-06-11 14:07:57 +02:00
Jeroen Bakker
e1ee3ed7df Fix #123045: Accumulate Samples When Navigating
When navigating the samples were always reset. This was introduced
by 7ec59b05ff where samples needed
to be reset when painting.

This PR solves it by separating the navigation and the painting more
clearly in the API. Also cleans up some calls that are also encapsulated
via the EEVEE Instance class.

Validated that painting and navigating still worked with these changes
applied.

Pull Request: https://projects.blender.org/blender/blender/pulls/123064
2024-06-11 14:07:26 +02:00
Campbell Barton
67c1fbdbb2 Cleanup: rename "filename" -> "filepath" for full path names 2024-06-11 20:45:06 +10:00
Campbell Barton
bdbd6598ad Cleanup: various non-functional changes
- Use brief `uint` type name.
- Remove unnecessary "struct".
- Remove duplicate variable declaration.
- Pass arguments by const reference instead of value.
- Use const argument.
2024-06-11 20:45:06 +10:00
Falk David
a5d5979fb6 Cleanup: Remove AttributeOwnerType::None
This type was not necessary because `ptr_` is allowed to
be `nullptr`. This also means that we don't need to handle
the `None` case in switch statements. We assume that at
this point the owner is valid.
2024-06-11 12:38:15 +02:00
Christoph Lendenfeld
973d33a278 Fix: Wire Width for bones not copied
When copying a bone, the new
option for wire width was not copied over.

Pull Request: https://projects.blender.org/blender/blender/pulls/123062
2024-06-11 12:37:57 +02:00
Christoph Lendenfeld
9c77598905 Fix: Remove redundant wording in parameter label
The new option on bones to control the wire width had a redundant part
of `Custom Shape`. Since the property is already within a section for
Custom Shape we can shorten the label.

Pull Request: https://projects.blender.org/blender/blender/pulls/123063
2024-06-11 12:02:04 +02:00
Aras Pranckevicius
57f1d11163 Fix: VSE strip shape is not rounded when dragging file into timeline area
Strips still have sharp corners when you're dragging them from file browser and
switch to rounded when dropped. Fix by using the same drawing code (and shader)
as regular timeline drawing path.

Pull Request: https://projects.blender.org/blender/blender/pulls/123013
2024-06-11 11:55:49 +02:00
Campbell Barton
69897eca13 Merge branch 'blender-v4.2-release' 2024-06-11 19:54:42 +10:00
Campbell Barton
12ff1ffe5b Extensions: remove add-ons which don't have a built-in upgrade opton
Previously these were shown as missing add-ons, since they have been
intentionally removed, remove them as part of versioning instead
of showing them as "Missing Add-ons". This is especially important
for X3D & STL which were enabled by default which meant any user
loading 4.1 preferences would have them shown as missing add-ons.
2024-06-11 19:53:38 +10:00
Campbell Barton
55632bee7f Cleanup: spelling in comments 2024-06-11 19:33:19 +10:00
Campbell Barton
eca309cb1c Merge branch 'blender-v4.2-release' 2024-06-11 19:29:43 +10:00
Campbell Barton
2e00df3ee2 Cleanup: spelling in comments 2024-06-11 19:21:56 +10:00
Sybren A. Stüvel
7944fd47dc Refactor: Anim: extract 'can Action be assigned?' logic into function
Extract the 'can this Action be assigned to this ID?' logic from the
RNA function `rna_Action_actedit_assign_poll()` to the `animrig` module.

This way it can be called from multiple places in the future, and tested
properly.

No functional changes.

Pull Request: https://projects.blender.org/blender/blender/pulls/123060
2024-06-11 11:21:19 +02:00
Sybren A. Stüvel
6070357c18 Merge remote-tracking branch 'origin/blender-v4.2-release' 2024-06-11 11:13:54 +02:00
Sybren A. Stüvel
83311ef96d Fix #122777: The keyframe_insert method throws python exceptions
Just for the `pyrna_struct_keyframe_insert()` function, reduce the
reporting level of keyframe insertion failures from `RPT_ERROR` to
`RPT_WARNING`. This prevents the conversion of these reports to a Python
exception.

`CombinedKeyingResult::generate_reports()` now accepts an option
argument `report_level`, so that the caller is in control over the type
of reports it generates.

Previously only errors were converted to exceptions; warnings were
implicitly cleared and never displayed. To avoid these 'keyframe
insertion failure' reports from becoming invisible, the
`pyrna_struct_keyframe_insert()` function now sends any warnings to
stdout (unless there were errors, in which case the old
error-to-exception behaviour is still there).

Pull Request: https://projects.blender.org/blender/blender/pulls/122827
2024-06-11 11:11:16 +02:00
Omar Emara
ce80c3ca23 Merge branch 'blender-v4.2-release' 2024-06-11 12:03:16 +03:00
Omar Emara
b2a58bbdb4 Fix #123007: VSE scene strip crash with GPU compositor
Blender crashes when rendering a scene strip that references a scene
with a GPU compositor active. This is because when rendering a scene
strip, a new render with a nullptr system GPU context is created for the
scene it references, which is then used for compositing.

Ideally, the strip scene would have its own context, but we can't ensure
its context because we are not in the main thread. The alternative is to
then identify scenes that will be rendered before hand and set their
renders before starting the job, which doesn't seem like a great
solution. So for now, we just use the DST context in those cases.

Pull Request: https://projects.blender.org/blender/blender/pulls/123057
2024-06-11 11:02:15 +02:00
Sybren A. Stüvel
8c74056921 Anim: RNA: set Binding.name_display as the 'name property'
In 99.9% of the cases, `Binding.name_display` should be used as the
binding's name. So better mark that as the 'name property' in RNA.
2024-06-11 10:41:39 +02:00
Clément Foucault
1882c2df94 EEVEE-Next: Add automatic convertion of Materials without Shadows
This add the cycles compatible way of disabling shadows
on materials using a node setup.

Pretty straight-forward and only done on EEVEE materials.
2024-06-11 10:33:55 +02:00