Commit Graph

110779 Commits

Author SHA1 Message Date
Philipp Oeser
68d998f4ca Merge branch 'blender-v4.2-release' 2024-06-26 15:37:26 +02:00
Philipp Oeser
bc0b86797c Fix #94125: Collada: not all edit mode changes are exported
This was the case when mulitple objects had changes in multi-object-
editmode.

Similar to f8b11528b2 & 3dd08beab3, this now ensures we have mesh data
in editmode.

Pull Request: https://projects.blender.org/blender/blender/pulls/123732
2024-06-26 15:36:47 +02:00
Philipp Oeser
3851157405 Merge branch 'blender-v4.2-release' 2024-06-26 15:35:52 +02:00
Clément Foucault
56023d5b63 Fix: EEVEE: Transparent pass break AO pass
This was caused by bad ordering. AO pass should only
include Dithered objects.

Fix #123393
2024-06-26 15:21:02 +02:00
Falk David
581a01a92d Fix: GPv3: "Chisel Marker" brush size pressure default
The `GP_BRUSH_PRESET_MARKER_CHISEL` did not set
the `BRUSH_SIZE_PRESSURE` flag. Now fixed.
2024-06-26 14:43:17 +02:00
Falk David
d1a01ceff2 Fix: GPv3: Draw Tool: Angle setting alignement
The angle at which the angle factor is greatest/smallest
was flipped by 90 degrees when compared to GPv2.
Additionally, the smoothing rate was a bit too slow.
2024-06-26 14:43:17 +02:00
Falk David
3a0236c889 Curves: Return empty span from offsets() if there are no curves
The function `CurvesGeometry::offsets()` would return a span pointing to
`nullptr` with a size of `1` if there were no curves in the geometry.

This was already changed for `offsets_for_write()` in
c3365666e5, which retuns an empty span.
Do the same for `offsets()` now.

Pull Request: https://projects.blender.org/blender/blender/pulls/123772
2024-06-26 14:38:48 +02:00
Jeroen Bakker
02a45fb60d Vulkan: Add read dependency for push constants fallback
When a shader uses push constants fallback the push constants are
stored inside a uniform buffer. The uniform buffer needs to be guarded
with a read barrier.

Pull Request: https://projects.blender.org/blender/blender/pulls/123777
2024-06-26 14:38:08 +02:00
Jacques Lucke
09ab585a05 Merge branch 'blender-v4.2-release' 2024-06-26 14:03:55 +02:00
Miguel Porces
b120440f7c Fix: Nodes: show group icon for custom node groups
The bl_icon of NodeCustomGroups is being ignored in latest versions.
This commit re-enables the icon drawing for those nodes.

Pull Request: https://projects.blender.org/blender/blender/pulls/123669
2024-06-26 14:03:02 +02:00
Jacques Lucke
89471e8566 Merge branch 'blender-v4.2-release' 2024-06-26 14:01:58 +02:00
Jacques Lucke
29f6167db1 Fix #123624: no geometry after applying visual geometry to mesh
This happened because `BKE_object_get_evaluated_mesh` now only returns
the mesh if there are no pending depsgraph updates. However, given that the
ID was tagged for changes before the evaluated mesh was accessed, it looked
like there were missing updates when there were not.

Now the depsgraph tag is only set after the object has actually been modified.
2024-06-26 14:00:05 +02:00
Falk David
2c773ce857 Fix: GPv3: Draw Tool: First point too large when using angle factor
The first point was always set to the brush radius, even when the
angle setting was used. Additionally, the approximation for the
pen direction started at (0, 0).

This fixes the issue by overwriting the radius of the first point
once we get the first extension sample and with that the first
approximation of the pen direction.
The pen direction is also set to the initial direction from the
first to the second point.
2024-06-26 13:51:18 +02:00
Falk David
c3b5a889bd Cleanup: GPv3: Draw Tool: Remove unnecessary lambdas 2024-06-26 11:13:56 +02:00
Falk David
db25962c27 Cleanup: GPv3: Draw Tool: Use math::numbers::pi 2024-06-26 11:13:17 +02:00
Falk David
8748225d58 GPv3: Draw Tool: Random Color
This implements the random color option from GPv2.

Now uses a perlin noise instead of the hash based noise
from before.

Pull Request: https://projects.blender.org/blender/blender/pulls/123746
2024-06-26 11:00:50 +02:00
Sergey Sharybin
4a37e8ed7b Merge branch 'blender-v4.2-release' 2024-06-26 09:59:31 +02:00
Sergey Sharybin
0081c4b64a Fix #123576: VSE Crash: Preview render fails if two Scene strips are stacked
The issue was caused by the ImBuf of the scene strip render sharing the float
buffer pixels with the ImBuf from the render result. If the render result is
ever gets freed (i.e., by a request to perform another render) it'll leave the
strip ImBuf pointing to a freed memory.

This was caused by the #109788.

The simple solution is to restore the code to the state prior to the ImBuf
refactor in the RenderRsult. A better solution would be to use implicit
sharing, similar to how it was done in the #108045.

Pull Request: https://projects.blender.org/blender/blender/pulls/123731
2024-06-26 09:58:46 +02:00
Lukas Tönne
be3942e5de Merge branch 'blender-v4.2-release' 2024-06-26 09:52:02 +02:00
Lukas Tönne
864d701083 Fix #123705: Object Info node is not setting Transform output
This was simply missing in the Object Info node.

Pull Request: https://projects.blender.org/blender/blender/pulls/123709
2024-06-26 09:50:52 +02:00
Omar Emara
58f19f41ce Fix: EEVEE displays wrong pass if Cryptomatte is enabled
EEVEE displays the Cryptomatte false color if the Cryptomatte passes are
enabled in the viewport, even if the display pass is set to something
else. This problem doesn't really trigger at the moment, because
Cryptomatte passes can't be enabled in the viewport unless the display
pass is set to Cryptomatte. But the issue triggers in case of multi-pass
compositing as in #123378.

This is caused by unconditional write to the fragment color in the film
shader in case of Cryptomatte. To fix this, we only write the fragment
color if the display storage type is Cryptomatte.

Needed by #123378.

Pull Request: https://projects.blender.org/blender/blender/pulls/123723
2024-06-26 08:44:43 +02:00
Campbell Barton
66e422f33d Merge branch 'blender-v4.2-release' 2024-06-26 14:27:40 +10:00
Campbell Barton
8b3ec86561 Merge branch 'blender-v4.2-release' 2024-06-26 14:27:38 +10:00
Campbell Barton
96906536db Extensions: add a Python API for user editable extension directories
Provide a convenient way to access a writable directory for extensions.
This will typically be accessed via:

  bpy.utils.extension_path_user(__package__, create=True)

This API is provided as some extensions on extensions.blender.org
are writing into the extensions own directory which is error prone:

- The extensions own directory is removed when upgrading.
- Users may not have write access to the extensions directory,
  especially with "System" repositories which may be on shared network
  drives for example.

These directories are only removed when:

- Uninstalling the extension.
- Removing the repository and its files.
2024-06-26 14:23:17 +10:00
Campbell Barton
f5aaee39d2 Extensions: prevent recursive file removal for corrupt repositories
When removing a repository & files a valid module name was assumed.
While this should always be the case, add an additional check so in
the unlikely event of memory/file corruption (especially `..`)
recursively removing files outside the repository is never allowed.
2024-06-26 14:22:21 +10:00
Richard Antalik
44bc433ed4 VSE: Copy channels when making meta strip
Copy channel name and flags from parent channels.
Only channels used by strips will be copied.

Pull Request: https://projects.blender.org/blender/blender/pulls/123073
2024-06-26 06:10:14 +02:00
Harley Acheson
1d47e3276b UI: File Browser Thumbnail View SVG Icons
Use the new SVG Icons for large document and folder images when in
thumbnail view in File Browser.

Pull Request: https://projects.blender.org/blender/blender/pulls/123754
2024-06-26 04:16:27 +02:00
Hans Goudey
5998bab73f Cleanup: Sculpt: Remove unused PBVH is_drawing variable
The value was set and transfered to `MeshBatchCache`but never
actually used. Even then, this is clearly not a good solution to the
problem the comments mentioned. If that happens if would be
better to solve it in a different way.
2024-06-25 21:51:20 -04:00
Hans Goudey
9b9ed0a76d Refactor: Sculpt: Remove corner_tris reference from PBVH
Part of #118145.
2024-06-25 21:33:20 -04:00
Hans Goudey
59d6eae116 Sculpt: Reuse existing mesh triangles cache in sculpt mode
Addresses #121240.
Instead of allocating a new array and recalculating mesh triangulation
every time the user enters sculpt mode, reuse the mesh's existing cache.
Currently in order to avoid recalculating triangulation on every brush update
(which would typically be necessary because the triangulation direction
depends on vertex positions), add a mechanism to "freeze" the cache to
skip recalculations until the user exits sculpt mode. That even avoids
recalculation if vertex positions aren't affected. This is necessary because
we can't use the cache in a dirty state; tagging the cache dirty frees the
triangulation array.

Removing the duplicate triangles array reduces memory usage by 384 MB
in a 16 million vertex sculpt, and makes entering sculpt mode 125ms faster
(tested on a Ryzen 7840u).

In the long term, I hope we find a different solution that's a bit more
transparent and hopefully more integrated with the caching system
in general. In the meantime, this is a relatively safe low impact change
that helps document the needs for such a system anyway.

Pull Request: https://projects.blender.org/blender/blender/pulls/123638
2024-06-26 03:04:50 +02:00
Campbell Barton
06ccf0c338 Merge branch 'blender-v4.2-release' 2024-06-26 10:27:58 +10:00
Campbell Barton
906dfdfb67 Merge branch 'blender-v4.2-release' 2024-06-26 10:27:55 +10:00
Andrej730
fcad7e7d2b Fix mathutils array parsing exception message
Error in exception message when the argument doesn't meet the sequence
length requirement.

Ref: !123748
2024-06-26 10:25:56 +10:00
Mangal Kushwah
30ad15c01c Fix: #123349 Incorrect initialization of face sets by material
Changes the way the face set index generated for intialize by material.
In current implementation face set index is generated by adding 1 to
material index. In most cases it'll work fine. But in some cases hidden
face sets and material face sets can have same index.

Pull Request: https://projects.blender.org/blender/blender/pulls/123465
2024-06-26 02:22:16 +02:00
Harley Acheson
983b0b6182 UI: Converting SVG Icons to Bitmaps
On rare occassions we need to turn an icon into a bitmap rather than
just draw it. For example, File Browser needs the bitmaps of the large
folder and file icons for use while dragging list items. This PR just
adds functions for this conversion from cached glyphs, and then uses
them to load the gSpecialFileImages "prv" icons so we no longer have
to include these in an embedded PNG file.

Pull Request: https://projects.blender.org/blender/blender/pulls/123749
2024-06-26 00:12:23 +02:00
Miguel Pozo
840457c45c Merge branch 'blender-v4.2-release' 2024-06-25 19:53:33 +02:00
Miguel Pozo
066619e1a8 Fix: GPU: GLStorageBuf::async_flush_to_host non named path
Fix the read parameter when there's no direct_state_access_support.
2024-06-25 19:52:39 +02:00
Falk David
c5e7498f89 GPv3: Draw Tool: Random Rotation
This was previously named `UV` in the UI.
Now renamed to the more appropriate `Rotation` since
it controls the random rotation of the texture on
each stroke point.

Otherwise implements the same functionality as GPv2.

Pull Request: https://projects.blender.org/blender/blender/pulls/123741
2024-06-25 19:21:13 +02:00
Miguel Pozo
42e015e77c Merge branch 'blender-v4.2-release' 2024-06-25 17:59:08 +02:00
Miguel Pozo
9b61673b46 Fix: EEVEE: Add missing view bind
Seems to fix #123413
2024-06-25 17:58:21 +02:00
Bastien Montagne
fa2c7ccdda Fix (unreported) memleak in some BKE tests in multi-binaries case.
Some tests would access system paths somehow, which implicitely creates
the static `m_systemPaths` variable, but would not explicitely call
`GHOST_DisposeSystemPaths` at the end to release it.

Noticeable when disabling the `WITH_TESTS_SINGLE_BINARY` option.
2024-06-25 17:51:31 +02:00
Bastien Montagne
b53ae4745c Merge branch 'blender-v4.2-release' 2024-06-25 16:43:23 +02:00
Bastien Montagne
fccdfa2b06 Fix (unreported) missing IDTypes init in lib_remapper tests.
This is usualy hidden it'd seem by the `WITH_TESTS_SINGLE_BINARY`
option.
2024-06-25 16:42:30 +02:00
Miguel Pozo
17ba53f605 Merge branch 'blender-v4.2-release' 2024-06-25 16:10:51 +02:00
Miguel Pozo
b8587c96ec Fix #120628: Transfer mode overlay flickering artifacts
Clear depth from Workbench when overlays are disabled.
Disable alpha blend and enable depth testing in the transfer mode
overlay so it works without a previously rendered depth buffer.

Pull Request: https://projects.blender.org/blender/blender/pulls/123729
2024-06-25 16:09:06 +02:00
Falk David
451212a4fb Fix: Error when building without experimental features
The `rna_grease_pencil.cc` file should now always be in `DEFSRC`
even if `WITH_EXPERIMENTAL_FEATURES` is not set.
2024-06-25 16:03:41 +02:00
Miguel Pozo
b855cd7bb0 Merge branch 'blender-v4.2-release' 2024-06-25 15:57:11 +02:00
Miguel Pozo
f16cf49c8a Cleanup: EEVEE: Clarify Jitter Camera tooltip 2024-06-25 15:56:51 +02:00
Omar Emara
f1134ce0b7 Merge branch 'blender-v4.2-release' 2024-06-25 16:40:44 +03:00
Omar Emara
f19a9e9b4d Fix #123607: Plane Track Deform produces wrong output
The Plane Track Deform node produces wrong outputs in the GPU compositor
in case the input size was different from the movie size. That's because
the coordinates were normalized based on the input size, while they
should be normalized based on the output size, which is what this
patches does.
2024-06-25 16:37:18 +03:00