Commit Graph

150077 Commits

Author SHA1 Message Date
Jeroen Bakker
89daa19f57 Vulkan: Device statistics
This PR adds device statistics which can be printed to the console.
By default nothing is printed, but developer can choose to enable
it during development.

Pull Request: https://projects.blender.org/blender/blender/pulls/124150
2024-07-04 13:47:54 +02:00
Omar Emara
4cd1245396 Compositor: Support viewport in Cryptomatte picker
This patch supports the Cryptomatte picker in the 3D viewport. Instead
of picking a color from the viewport GPU texture, we instead sample the
scene directly to get the object or material under the cursor, then hash
their names to get the Cryptomatte hash value. We do this because the
viewport texture have limited precision, so it can't store the
Cryptomatte hash values.

Additionally, we adjust the Cryptomatte session code to extract the
Cryptomatte manifest from the scene directly, as opposed to the
RenderResult. This is done to make it work even when no RenderResult
exist, as is the case for the viewport compositor, which is needed
especially after #123378.

Pull Request: https://projects.blender.org/blender/blender/pulls/123815
2024-07-04 13:42:23 +02:00
Pratik Borhade
b724756873 Merge branch 'blender-v4.2-release' 2024-07-04 16:54:56 +05:30
Pratik Borhade
8ddd49409c Fix #124090: Delete strip operator missing redo panel property
Caused by 1a887c06d9
`poll_property` callback is not required, both delete strip and retiming
key operator are separated now.

Pull Request: https://projects.blender.org/blender/blender/pulls/124095
2024-07-04 13:22:37 +02:00
Jeroen Bakker
3891f46084 Merge branch 'blender-v4.2-release' 2024-07-04 12:47:38 +02:00
Jeroen Bakker
1931b8e63f EEVEE: Fix missing material preview
Pull Request: https://projects.blender.org/blender/blender/pulls/124151
2024-07-04 12:46:29 +02:00
Bastien Montagne
f4ef3de32b Fix (unreported) more invalid MEM_new/MEM_freeN mismatches.
NOTE: Had to make `NodeLinkItem` trivial again, by removing its default
values and instead using an 'init' function. Please ensure that the
code area you are using your data with _is_ compatible with c++ memory
handling. UI code generally is not currently.
2024-07-04 11:58:21 +02:00
Jacques Lucke
4ec3f0c981 Fix: new-free mismatch
Required since 06be295946.
2024-07-04 11:39:12 +02:00
Falk David
103f3f261a Fix: GPv3: Draw Tool: Use "Dot" cursor for draw tool
When disabling the "Show Cursor" option in the tool settings for the
draw tool, the cursor was set to the OS default.
This was not the case in GPv2, which used the "Dot" cursor.

The fix enables the "Dot" cursor by default for the draw tool.
2024-07-04 11:22:32 +02:00
Alaska
9d1e613292 Cycles: Refactor and add use_gpu() to UI code
Add a `use_gpu()` function to the UI code for Cycles.
This is done to clean up some of the other code (`use_{backend}()`)
and to help isolate `use_multi_device` and `show_device_active` from
their context making them more robust to changes made in other parts
of the UI code.

Pull Request: https://projects.blender.org/blender/blender/pulls/124134
2024-07-04 11:21:45 +02:00
Bastien Montagne
b42f2b7634 Merge branch 'blender-v4.2-release' 2024-07-04 11:08:56 +02:00
Sybren A. Stüvel
13276e1f1e Sculpting: initialise uninitialised variable
Initialise `sum = 0.0f` before adding to it. Otherwise it'll get not just
a compiler warning, but also undefined behaviour.
2024-07-04 11:04:00 +02:00
Damien Picard
6a52c76a65 I18n: Translate messages in extensions, operator descriptions, Node Wrangler
- Operator descriptions use tip_() since they will be displayed in
  tooltips.

- Extension messages:
  - Split "(Add-on|Theme) \"{:s}\" already installed!" into two
    messages.
  - Use rpt_() to translate error messages.

- Restore core add-on name and description translation.

- Use DATA_ to translate paint material slot name, so that translation
  happens only if the user enabled it for user-created data.

- Node Wrangler contains functions used to build operators' poll
  methods. This change allows them to be properly translated by using
  str.format() instead of f-strings, and explicit extraction with
  tip_().

Pull Request: https://projects.blender.org/blender/blender/pulls/123795
2024-07-04 10:49:52 +02:00
Jeroen Bakker
84cbf33b38 Vulkan: Enable multi draw indirect feature
Multi draw indirect is used by the overlay engine and can lead
to a validation error when multiple instances are drawn.

This PR enabled the feature. We expect that all our devices can handle
this feature.

Pull Request: https://projects.blender.org/blender/blender/pulls/124141
2024-07-04 10:42:20 +02:00
Jeroen Bakker
b6c078a28f Vulkan: Fix image bind space collision
EEVEE Eval light shader could still make a collision between
texture and image bind space making rendering glitch
when not using `--debug-gpu`. The problem was that the bind space
wasn't aware of the offset that the shader interface was using.

Pull Request: https://projects.blender.org/blender/blender/pulls/124140
2024-07-04 10:41:43 +02:00
Aras Pranckevicius
d51dee85f7 Merge branch 'blender-v4.2-release' 2024-07-04 11:29:08 +03:00
Aras Pranckevicius
2aee84a611 Fix #123579: VSE, no magenta preview for missing scene strips
Code that implemented "show missing media in magenta" in VSE preview
only implemented that for images and movies, and forgot that scene
strips can also be missing.

Pull Request: https://projects.blender.org/blender/blender/pulls/124124
2024-07-04 10:27:52 +02:00
Nathan Vegdahl
b31d34033a Fix: make auto-keying reliably key all needed bone channels
This is a follow-up to #123998 which fixed autokeying on objects when
the "Only Insert Needed" user preference was enabled. This fixes an
essentially identical bug for auto-keying bones, but *also* fixes a
different-but-related bug unique to bone keying.

In the first bug the location channel would erroneously not get keyed
sometimes when the "Only Insert Needed" user preference was enabled.
This fixes that by passing in whether more than one bone is being keyed
or not, and using that to accurately determine if location actually
needs to be keyed.

In the second bug, the location channel would erroneously not get keyed
when "Auto IK" was used to transform bones. This fixes that by just
being over-conservative. This unforunately leads to more bones getting
their location channel keyed than needed when Auto IK is used, but this
is better than *failing* to key needed channels, which was the previous
behavior. I left a comment explaining the situation, along with a TODO
to address this in a more satisfying way in the future.

Pull Request: https://projects.blender.org/blender/blender/pulls/124054
2024-07-04 10:18:32 +02:00
Sietse Brouwer
dd5f34eb51 Fix: GPv3: Bracket keys [ and ] don't change the brush size
The keyboard shortcuts `[` and `]` should change the brush size, but
they didn't for the tools in GPv3 because GPv3 switched to the 'unified
paint settings' system for brushes.

This PR is a fix for that. The brush scale size operator now also acts
on the unified brush size for GPv3 brushes. One exception: the Grease
Pencil brushes in Paint mode (Draw, Erase, Tint), because they don't
use the unified paint settings.

Pull Request: https://projects.blender.org/blender/blender/pulls/124069
2024-07-04 10:16:12 +02:00
Alexander Brock
717c970297 Add round-trip tests for *_to_direction functions and fix some of them
The function `direction_to_<some projection model>` computes the inverse of `<some projection model>_to_direction`.
Some of these functions had a bug where they mirror the x-axis, and some of them could be simplified.
I added round-trip tests for all of them.
This MR might change the behavior of the renderer when using equiangular_cubemap_face_to_direction:
I normalized the result vector. I looked at the usages and I think it's normalized later anyways, but someone else should probably verify that this doesn't cause issues.

Pull Request: https://projects.blender.org/blender/blender/pulls/123932
2024-07-04 09:54:50 +02:00
Julien Duroure
d8675a3f6a Merge branch 'blender-v4.2-release' 2024-07-04 09:00:46 +02:00
Julien Duroure
8bf4d3c33f glTF exporter: Fix #124072 - avoid crash exporting empty collection at center 2024-07-04 08:57:27 +02:00
Julien Duroure
69390e970f glTF exporter: avoid crash copying props 2024-07-04 08:50:48 +02:00
Julien Duroure
2e03ca4a5b Merge branch 'blender-v4.2-release' 2024-07-04 08:50:26 +02:00
Julien Duroure
0ec32af432 glTF exporter: avoid crash copying props 2024-07-04 08:47:17 +02:00
Christoph Lendenfeld
8ecccddf1c Fix: Bone wire width not working with curve objects
The issue was that the wire width was not passed to the shader
when the object was of type curve.
This resulted in the bone wire thicker than expected and
not responding to the parameter.

Pull Request: https://projects.blender.org/blender/blender/pulls/124053
2024-07-04 08:40:52 +02:00
Harley Acheson
444626593c Merge branch 'blender-v4.2-release' 2024-07-03 20:38:24 -07:00
Harley Acheson
508d08c687 Revert "Fix #122808: Better Indication of Missing VFont"
This reverts commit ff89e24bf5.
2024-07-03 20:35:46 -07:00
Campbell Barton
b7adeb5d80 Merge branch 'blender-v4.2-release' 2024-07-04 12:41:26 +10:00
Campbell Barton
a9763ffabc Merge branch 'blender-v4.2-release' 2024-07-04 12:41:23 +10:00
Campbell Barton
1d23e54fb3 Cleanup: quiet parenthesis warning 2024-07-04 12:40:56 +10:00
Campbell Barton
c55ae88148 Fix #123954: string attributes don't work with BMesh
RNA accessors were ignoring MStringProperty::s_len and assumed UTF8
encoding which is not the case. Use byte strings and get/set the length
member.
2024-07-04 12:29:59 +10:00
Campbell Barton
e3457bccbf Extensions: sub-commands "build" & "validate" validate manifest tags
Enforce tags from extensions.blender.org with support for using an
alternate set of tags (for other repositories), or no tag validation
at all if the repositories choose not to enforce this.

- By default building & validating an extensions fails when unknown
  tags are used.

- The option `--valid-tags`` has been added which can either:

  - Reference a JSON file which lists valid tags per extension type.
  - Pass in an empty string to disable tag validation.

Default to constraining packages to use Blender's official tags as every
extension defining their own tags is likely to result in many similar
tags & a bad user experience. Details in code-comments.

Implements #123986.
2024-07-04 11:56:07 +10:00
Harley Acheson
140a214541 Merge branch 'blender-v4.2-release' 2024-07-03 18:27:35 -07:00
Harley Acheson
ff89e24bf5 Fix #122808: Better Indication of Missing VFont
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.

Pull Request: https://projects.blender.org/blender/blender/pulls/122851
2024-07-04 03:26:22 +02:00
Jesse Yurkovich
1d77518b58 Merge branch 'blender-v4.2-release' 2024-07-03 17:04:55 -07:00
Jesse Yurkovich
4806078dbd Fix: USD: Use correct property names in RNA update callback
Use the correct property names in the up and forward axis update
callbacks. Otherwise they don't work as intended and the following will
be traced to the console:
```
RNA_enum_get: WM_OT_usd_export.forward_axis not found.
RNA_enum_get: WM_OT_usd_export.up_axis not found.
```

Pull Request: https://projects.blender.org/blender/blender/pulls/124112
2024-07-04 02:03:27 +02:00
Michael Kowalski
95a335b70e Merge remote-tracking branch 'origin/blender-v4.2-release' 2024-07-03 19:27:21 -04:00
Michael Kowalski
94c184d2a7 USD: custom properties export improvements
Added a new custom_properties_namespace USD export option, to
allow replacing or omitting the current default "userProperties"
namespace prefix.

Note that this option does not apply to names that already have a prefix
(e.g., it would apply to name "bar" but not "foo:bar").  It also does not apply
to the  internal Blender "object_name" and "data_name" properties which
always have the prefix "userProperties:blender".

Also added logic to handle ":" namespace delimiters in property names.

Pull Request: https://projects.blender.org/blender/blender/pulls/124067
2024-07-04 00:45:30 +02:00
Hans Goudey
70bde716fc Cleanup: Sculpt: Move more operators code to C++ namespace 2024-07-03 17:13:33 -04:00
Hans Goudey
e17457d5f1 Sculpt: Data oriented refactor for topology rake brush action
Part of #118145.
2024-07-03 17:04:47 -04:00
Hans Goudey
1efe3983ec Sculpt: Data oriented refactor for elastic deform brush
Part of #118145.
2024-07-03 16:31:21 -04:00
Ray Molenkamp
3094e2a144 Merge remote-tracking branch 'origin/blender-v4.2-release' 2024-07-03 14:24:22 -06:00
Hans Goudey
c1c2f8abd9 Cleanup: Sculpt: Remove old draw sharp brush code
Missed in 750e3a6fba.
2024-07-03 16:22:52 -04:00
Hans Goudey
a5b169c103 Cleanup: Remove unused variable in draw sharp brush 2024-07-03 16:15:01 -04:00
Hans Goudey
b6a04c207a Fix: MEM_new/MEM_freeN mismatch in menu search code 2024-07-03 16:12:45 -04:00
Raul Fernandez
750e3a6fba Sculpt: Initial data oriented refactor for draw sharp brush
Part of #118145.

Pull Request: https://projects.blender.org/blender/blender/pulls/123103
2024-07-03 22:10:00 +02:00
Hans Goudey
3d0c556289 Cleanup: Formatting 2024-07-03 16:04:44 -04:00
Jesse Yurkovich
e9ba414799 Fix #124103: Build error when using WITH_USD but not WITH_HYDRA
Move a few functions to a common location so that they're all accessible
from both USD and Hydra.

Pull Request: https://projects.blender.org/blender/blender/pulls/124119
2024-07-03 22:02:53 +02:00
Hans Goudey
a9e29bea94 Sculpt: Data oriented refactor for line project tool
Part of #118145.
The tool seemed to ignore procedural deformation from
modifiers or shape keys, that as well as locking/clipping
should work now.

Pull Request: https://projects.blender.org/blender/blender/pulls/124123
2024-07-03 21:44:52 +02:00