Commit Graph

138614 Commits

Author SHA1 Message Date
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
Hans Goudey
525293a95d Fix: MEM_new/MEM_freeN mismatch in file browser code
Caused by cd84d3f3da
2024-07-03 15:13:48 -04:00
Hans Goudey
cbb60190b4 Cleanup: Sculpt: Use const for gesture data, rename variables 2024-07-03 14:52:15 -04:00
Hans Goudey
a7c7e58a4c Sculpt: Data oriented factors calculation for paint brushes
Part of #118145.

Store intermediate data (factors and distances) in thread local storage
for the paint and smear color brushes. The rest of the brushes aren't
refactored to the new "standard", but most of the code we want to
remove in the short term isn't used anymore.
2024-07-03 14:52:15 -04:00
Hans Goudey
0b44d3d163 Cleanup: Sculpt: Use const SculptSession arguments 2024-07-03 14:52:15 -04:00
Hans Goudey
f8fc28bea9 Refactor: Sculpt: Add API function for accessing original color data 2024-07-03 14:52:15 -04:00
Hans Goudey
6fce121596 Cleanup: Sculpt: Simplify vertex position access in color smear brush 2024-07-03 14:52:15 -04:00
Sean Kim
b2ec10184c Sculpt: Initial data oriented refactor for draw face sets brush
Part of #118145.

Performance after this change results in an 156% speedup. This is
measured on the function `stroke_update_step` on a mesh with 24k verts
across 20k instances of the function being timed. In absolute values,
this represents a 0.09ms speedup, from 0.16ms to 0.25ms.

For BMesh, the brush now takes mask values into consideration by
averaging all of the vert mask values for a face.

Co-authored-by: Hans Goudey <hans@blender.org>
Pull Request: https://projects.blender.org/blender/blender/pulls/123811
2024-07-03 20:46:36 +02:00
Harley Acheson
38681f3a63 UI: Large Blender Logo Alignment Fixes
Slight changes to the sizing and placement of the Blender logo within
its icon bounds. Perfect alignment to grid for top of the horizontal
bar, bottom, and right edges. Could allow use down to about 32x32.

Pull Request: https://projects.blender.org/blender/blender/pulls/124120
2024-07-03 20:13:30 +02:00
Harley Acheson
c468319497 UI: Use Large Blender Logo for Blend File in File Browser
For times when we show the blender logo inside a larger document image,
use the version meant for larger sizes. The complexity is almost
identical, but we use it larger here so use the nicer one.

Pull Request: https://projects.blender.org/blender/blender/pulls/124117
2024-07-03 19:16:40 +02:00
Harley Acheson
c6411e61ae Fix: Handle Missing Font in ID List Previews
Handle missing font in the hover tooltip preview in the Data-block ID
selector. Add error handing both in IMB_font_preview itself and in the
current caller (to show message).

Pull Request: https://projects.blender.org/blender/blender/pulls/124111
2024-07-03 18:24:28 +02:00
Hans Goudey
5b50bb19e7 Cleanup: Sculpt: Use C++ math types for color paint brushes 2024-07-03 12:13:52 -04:00
Hans Goudey
ad0e327dd0 Sculpt: Data oriented refactor for color smooth brush
Part of #118145.
2024-07-03 12:13:52 -04:00
Hans Goudey
ea202f83bf Cleanup: Use const SculptSession arguments 2024-07-03 12:13:52 -04:00