Commit Graph

110267 Commits

Author SHA1 Message Date
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
Clément Foucault
093997037f EEVEE-Next: Add forward compatibility for blend modes
This makes sure to set the legacy properties when setting
the render method and the use transparent flag.
EEVEE-legacy should be able to render these materials
without issues.
2024-06-11 10:33:55 +02:00
Jeroen Bakker
7a8e04fcb1 Fix #122551: Metal displays black screen on ATI/Intel GPUs
When using Metal backend on ATI/Intel GPUs the stencil buffer doesn't
contain the correct information, skipping diffuse and glossy PBR components.

Failing behavior was introduced by e97e06ea2c
This PR works around this by reverting the code when using ATI/Intel GPUs.
The root cause is somewhere the combination of stencil export support, clear
operations and subpass.

**TODO**

- [ ] Validate that this fixes the ATI issue as well

Pull Request: https://projects.blender.org/blender/blender/pulls/122993
2024-06-11 07:58:03 +02:00
Hans Goudey
c7a0441778 Fix: Mistakes in previous build error fix
- Fix typo in error message
- Add definition so the node actually works
2024-06-10 23:19:13 -04:00
Hans Goudey
a0cf59c186 Fix #122770: Crash with "High Quality Normals" and loose edges/verts
Caused by a simple mistake in 84c4ddbbb9.
2024-06-10 22:33:15 -04:00
Hans Goudey
7e75ef20ca Fix #122770: Crash with "High Quality Normals" and loose edges/verts
Caused by a simple mistake in 84c4ddbbb9.
2024-06-10 22:31:48 -04:00
Hans Goudey
3a31fcebcf Fix: Link error in lite build without STL IO 2024-06-10 22:25:46 -04:00
Julian Eisel
7b1de7e9ba UI: Draw loading label in File Browser when list is empty but loading
Show "Loading..." now when file list loading is unfinished, but no item is
visible yet.

Would show "No items" earlier which is misleading, because the file
loading job may simply not have started yet, or found no relevant files
yet.

Pull Request: https://projects.blender.org/blender/blender/pulls/123029
2024-06-11 00:54:33 +02:00
Harley Acheson
4f36fb1afe Merge branch 'blender-v4.2-release' 2024-06-10 14:39:36 -07:00