Commit Graph

120055 Commits

Author SHA1 Message Date
Jacques Lucke
b11d8d2e74 Fix #121559: bad node tree zone visibility with frames
The fix is to support interleaving the drawing of zones and frames.
The draw order is determined by the width of the zones/frames.
Larger areas are drawn before smaller ones. This makes sure that
everything is as visible as possible.

The zone border outlines are still drawn on top of all frames.
Solving that is technically more challenging, because we don't want
to use transparency for zone backgrounds because that results in
many possible mixed colors which we want to avoid. Fortunately,
drawing the outlines on top seems to be quite useful anyway.
2024-06-15 19:51:15 +02:00
Jacques Lucke
a6628fc299 Fix #123255: flickering background in node tree zones 2024-06-15 19:08:16 +02:00
Campbell Barton
ed1e3d1c1f Merge branch 'blender-v4.2-release' 2024-06-15 18:43:33 +10:00
Miguel Pozo
a11d3c6c01 EEVEE: Add Ray Visibility > Camera support
FIx #122980.

Pull Request: https://projects.blender.org/blender/blender/pulls/123248
2024-06-15 08:54:20 +02:00
Hans Goudey
998dd1cdfe Cleanup: Sculpt: Use simpler argument for brush utility function
Also make use of local "cache" variable consistent.
2024-06-14 21:15:06 -04:00
Hans Goudey
baf84f1ec9 Cleanup: Sculpt: Remove unused vertex indices argument 2024-06-14 19:38:51 -04:00
Hans Goudey
97962a3b21 Fix: Sculpt orig data access broken for dynamic topology
Data is not stored per-PBVH node for dyntopo undo logging.
Previously we push an undo node anyway, but to separate things
a bit more, just use the undo type and bm_log directly.
2024-06-14 19:26:05 -04:00
Hans Goudey
84440967e8 Cleanup: Remove unused sculpt "orig face data" struct 2024-06-14 19:20:44 -04:00
Hans Goudey
31a67805fe Subdiv: Skip interpolating topology attributes to improve performance
Currently the corner_vert and corner_edge attributes go through the
generic custom data interpolation, only to be overwritten directly
afterwards. In a profile of the execution of the subdivision surface
modifier, 5% of the time was spent in `layerInterp_propInt`. To fix
this, first build a `CustomData` layout to be used just for face corner
attribute interpolation. Then allocate the topology attributes
separately and add them to the result mesh later. This requires a fair
amount of boilerplate right now, but it should be improved with various
changes to mesh attribute storage in the future.

In a file with many object with a subsurf modifier, this change
improved the overall execution time by between 5 and 10% in my tests.

Pull Request: https://projects.blender.org/blender/blender/pulls/123254
2024-06-15 00:53:22 +02:00
Hans Goudey
6cb86eb1b7 Merge branch 'blender-v4.2-release' 2024-06-14 18:52:27 -04:00
Hans Goudey
9266fbab02 Fix: Complete recent fix to array_utils boolean mix utility
1d53025868 missed the fix to the VArray case.
2024-06-14 18:44:03 -04:00
Hans Goudey
547845e844 Cleanup: Formatting 2024-06-14 15:37:38 -04:00
Jacques Lucke
7e399119dc Merge branch 'blender-v4.2-release' 2024-06-14 20:43:39 +02:00
Jacques Lucke
6edeae5c90 Fix #122601: unexpected scaling in Curve to Mesh node with custom curve normals
The issue was that we used `from_orthonormal_axes` which obviously expects that
the axes are orthonormal. However, with custom curve normals this is not always the
case. Math wise, an additional normalization is necessary because the cross product
is not automatically normalized anymore.

This change also means that `point_matrix` may have a shearing component. But I
think that's fine here because the matrix is only immediately applied on vertex positions.
This shouldn't affect any case where the normal and tangent are orthonormal.

Pull Request: https://projects.blender.org/blender/blender/pulls/123238
2024-06-14 20:42:50 +02:00
Jacques Lucke
dd0c5695b7 Merge branch 'blender-v4.2-release' 2024-06-14 20:39:53 +02:00
Jacques Lucke
1beca12b2a Fix #121750: drawing from python can disable smoothing for node zone borders 2024-06-14 20:39:00 +02:00
Clément Foucault
281edcc5cc Merge branch 'blender-v4.2-release' 2024-06-14 20:33:25 +02:00
Clément Foucault
3b4422a94b Fix: EEVEE-Next: Improve lookdev float precision
Do this by:
- Removing depth and depth test.
- Scale the sphere to the covered pixels size.
- Use infinite orthographic matrix

We can still improve this by scaling the sphere
bigger depending on the accuracy at its position.

Fix #123165
2024-06-14 20:25:55 +02:00
Clément Foucault
8a778dac25 EEVEE-Next: Shadow: Make screen_pixel_radius not use View
This allow to reuse the function in other area.
2024-06-14 20:25:54 +02:00
Jacques Lucke
8b7cde3efc Merge branch 'blender-v4.2-release' 2024-06-14 20:19:03 +02:00
Jacques Lucke
1d53025868 Fix #121806: smooth shading not updating correctly
`booleans_mix_calc` was incorrect. While it computed the correct result in
many common cases, under some specific circumstances, at was wrong.
Whether it was wrong also depended on how the range was split up for
multi-threading which is not deterministic.

The function was used in `Mesh::normals_domain` which then also returned
the wrong domain in some cases.
2024-06-14 20:12:03 +02:00
Miguel Pozo
a22a4810c7 GPU: Use size_t for GPU buffer sizes
Update all GPU buffer size-related functions to use `size_t` for
consistency.

Pull Request: https://projects.blender.org/blender/blender/pulls/123240
2024-06-14 19:27:33 +02:00
Jacques Lucke
57e29b4a27 Merge branch 'blender-v4.2-release' 2024-06-14 19:26:32 +02:00
Colin Basnett
2b9c7b3e8f Copy Material to Selected operator copies material slot link type
`Copy Material to Selected` now sets the `Link` type of the selected objects to match those of the active object.

Without this, it changes the underlying material slots on the mesh data block, which is probably not what the user intends. With the new behavior, it now changes the selected objects to use object-linked materials.

Pull Request: https://projects.blender.org/blender/blender/pulls/122579
2024-06-14 19:25:38 +02:00
Jacques Lucke
59b13fb364 Fix #121978: use identity quaternion as default value
Generally, we don't want quaternions that are all zeros, because a proper
rotation has to be a normalized quaternion.
2024-06-14 19:25:07 +02:00
Jacques Lucke
b1ac56de5a Merge branch 'blender-v4.2-release' 2024-06-14 19:06:44 +02:00
Jacques Lucke
811c75e8b7 Fix #122121: index switch does not work in some cases
Looks like a copy paste error from the normal Switch node.
2024-06-14 19:04:43 +02:00
Jacques Lucke
1bd97b8310 Fix #122164: wrong warning in geometry nodes
Avoid warning the user that there is a geometry, if it does not have any points/data.
Such geometry components shouldn't just be removed generally. because they
still contain information (such as the set of existing attributes).
2024-06-14 18:57:26 +02:00
Clément Foucault
c5ba48427e Fix: EEVEE-Next: Lights with large radius do not work
The threshold is way too high as the light power gets very small.
It still make sense to include the power here because
some lights might be disabled for some BSDF types, and
skipping the LTC eval code can be beneficial.
So reducing the threshold to very low value near FLT_MIN
to fix the issue.

Fix #123193
2024-06-14 18:09:20 +02:00
Richard Antalik
6079b16d52 VSE: Add movie clip panel
This moves move clip related properties to own movie clip panel as it
is done with other strip types that uses other datablocks. The clip
property is added to RNA, so this can be added to the panel.

Requested in #120357
2024-06-14 18:00:13 +02:00
Jacques Lucke
eda347a354 Merge branch 'blender-v4.2-release' 2024-06-14 17:59:39 +02:00
Jacques Lucke
f168ae73a8 Fix #122356: don't show link drag search for deprecated texture socket 2024-06-14 17:37:20 +02:00
Brecht Van Lommel
eab14b0a0c Merge branch 'blender-v4.2-release' 2024-06-14 16:56:00 +02:00
Campbell Barton
f529b0f115 Cleanup: compiler warning with enum mis-match 2024-06-15 00:31:17 +10:00
Jacques Lucke
6f7b2291ce Fix #122611: invalid node shows up in link-drag search 2024-06-14 16:26:43 +02:00
Clément Foucault
e23e5443e7 Fix: EEVEE-Next: Missing mandatory combined pass
Cycles and EEVEE-Next disregard `use_pass_combined` option.
Avoid changing the behavior.

Fix #122188
2024-06-14 16:26:23 +02:00
Brecht Van Lommel
9068ea6d45 Merge branch 'blender-v4.2-release' 2024-06-14 15:48:27 +02:00
Brecht Van Lommel
bda53799d5 Cleanup: make format 2024-06-14 15:47:49 +02:00
Christoph Lendenfeld
7e9b580546 Fix #119360: Precision issue with cycle modifier
The issue was a floating point precision issue
between the number of the cycle and the time
within the cycle (`cycle` and `cyct`).
Due to that the `cycle` would advance to the
next whole number while the `cycle time`
is still slightly under that.

This is fixed by calculating the `cycle` with double precision.

This has a measurable performance
impact (for `fcm_cycles_time`)

| Before | After |
| - | - |
| 39ns | 44ns |

For fcurves with a cycle modifier,
this code is run at every evaluate call.
The only time when that would be an issue is
in the graph editor, where there is an evaluate
call for roughly every pixel for curves that have a modifier.
However even in that scenario the performance
is the same within run to run variance (for `graph_draw_curves`)

| Before | After |
| - | - |
| 91565ns | 91430ns |

Pull Request: https://projects.blender.org/blender/blender/pulls/123222
2024-06-14 15:43:34 +02:00
Jeroen Bakker
7a8831ba13 Vulkan: Fix clamp to edge samplers
When using GPU_SAMPLER_EXTEND_MODE_EXTEND the incorrect sampler
was created, making the OCIO shader fail. This PR selects the
correct wrapping mode (CLAMP_TO_EDGE).

Pull Request: https://projects.blender.org/blender/blender/pulls/123234
2024-06-14 15:36:48 +02:00
Jeroen Bakker
11218f2fca Vulkan: Fix clang compiler warning
_No response_

Pull Request: https://projects.blender.org/blender/blender/pulls/123233
2024-06-14 15:26:25 +02:00
Michael Kowalski
4a8ade34e9 Merge branch 'blender-v4.2-release' 2024-06-14 08:40:21 -04:00
Michael Kowalski
6c29892909 USD export: ignore selected-only for dome lights
Updated the dome light export logic to disregard the selected-only
option, since the world material can't be selected as an object.

Pull Request: https://projects.blender.org/blender/blender/pulls/123199
2024-06-14 14:00:23 +02:00
Jacques Lucke
55e3e6ab5b Merge branch 'blender-v4.2-release' 2024-06-14 12:46:38 +02:00
Crax97
5afd84b960 Fix #122763: ensure Vector socket is the default on 'Transform Point'
Ensure that the input socket `Vector` on node `Transform Point` is marked as the default socket.

Pull Request: https://projects.blender.org/blender/blender/pulls/123042
2024-06-14 12:45:58 +02:00
Jacques Lucke
f2a372b44e Fix #122870: quaternions not interpolated correctly in subdivision surface 2024-06-14 12:35:21 +02:00
Jacques Lucke
66e5004d95 Fix: handle unknown node types more gracefully
I found this assert to be not helpful a couple of times in the past already.
Now it was triggered again by #122928.
2024-06-14 11:50:24 +02:00
Aras Pranckevicius
60d8802ffc Merge branch 'blender-v4.2-release' 2024-06-14 12:46:10 +03:00
Jacques Lucke
086f6f07d9 Fix #122960: multiple geometry outputs connect to single input on viewer 2024-06-14 11:33:29 +02:00
Jacques Lucke
8ee231b6f6 Fix: crash when interpolating subframes of baked caches
`get_simulation_item_cpp_type` returns `SocketValueVariant` for these types
nowdays, which is not what we want here.
2024-06-14 11:27:36 +02:00