Commit Graph

111468 Commits

Author SHA1 Message Date
Campbell Barton
8fcd1812b4 Merge branch 'blender-v4.2-release' 2024-07-15 11:07:54 +10:00
Germano Cavalcante
cb66c9623c Merge branch 'blender-v4.2-release' 2024-07-14 22:08:38 -03:00
Nathan Burnham
988bf2b88f Fix incorrect exception message on collection key type error
String keys aren't supported.

Ref: !123577
2024-07-15 11:07:27 +10:00
Germano Cavalcante
742943f554 Fix: error in previus commit 7249b7
Use of uninitialized variable.
2024-07-14 22:05:59 -03:00
Germano Cavalcante
7249b78b6b Fix #124545: Axis constraints in knife failing
The problem was basically that, after efd3c4b3c9, `test_cagep` started
to be used without being calculated.

`test_cagep` represents the closest 3D point on an edge.

The solution was to edit the `knife_snap_edge_constrained` function to
calculate the `test_cagep` instead of the `closest_ss` (which is the
projected point).

Calculating `test_cagep`(3D) instead of `closest_ss`(2D) is
advantageous as we avoid matrix transformations and achieve more
precision.

We also deduplicate the code a bit since `closest_ss` can be obtained
by projecting `test_cagep`.

This commit also adds comments to the code, and renamed some variables
and functions for more clarity.

Pull Request: https://projects.blender.org/blender/blender/pulls/124701
2024-07-15 02:47:03 +02:00
Jesse Yurkovich
8c779cfade Merge branch 'blender-v4.2-release' 2024-07-14 14:30:41 -07:00
Jesse Yurkovich
ba6a89e5db Fix: Incorrect free of null IDProperty array during Collection Export
This was unfortunately regressed during another recent fix [1].

Simply check for null last_properties before removing them.

[1] a362c225c0

Pull Request: https://projects.blender.org/blender/blender/pulls/124698
2024-07-14 23:29:29 +02:00
Lukas Stockner
021bce8b48 Compositor: Add White Point mode to the Color Balance node
This adds a new mode to the Color Balance node, which applies a white point
transformation similar to the one applied in the view transform.

Unlike the view transform, the compositor node allows specifying both the
source and the destination white point for more flexibility. Both default
to the D65 white point, so just leaving the destination alone achieves the
same behavior.

Pull Request: https://projects.blender.org/blender/blender/pulls/124110
2024-07-14 23:22:58 +02:00
Iliya Katueshenock
71e1305b06 Fix #124637: double spacing for inline sockets
Pull Request: https://projects.blender.org/blender/blender/pulls/124658
2024-07-14 12:33:40 +02:00
Iliya Katueshenock
0b0481cf54 Fix: Nodes: crash in case of dissolving node after save
There is missed topology ensure call.

Pull Request: https://projects.blender.org/blender/blender/pulls/124605
2024-07-14 12:32:17 +02:00
Campbell Barton
a721c81668 Unbreak build from missing include 2024-07-14 20:09:11 +10:00
Jacques Lucke
50e2ea82a7 Merge branch 'blender-v4.2-release' 2024-07-14 11:46:12 +02:00
Iliya Katueshenock
649fa05bcb Geometry Nodes: support link drag search for Bake node
Fixes #124625.

Pull Request: https://projects.blender.org/blender/blender/pulls/124659
2024-07-14 11:27:27 +02:00
Campbell Barton
8fdb190278 Cleanup: typos in comments (duplicate words) 2024-07-14 18:55:43 +10:00
Sean Kim
06ba62f278 Cleanup: Remove unused variables
Pull Request: https://projects.blender.org/blender/blender/pulls/124667
2024-07-13 21:57:31 +02:00
Sean Kim
e4c72ef30c Fix: Sculpt: Multiple brushes do not work with Shape Keys
This commit inverts the conditional as the # of elements is getting too
large for the `ELEM` macro.

Pull Request: https://projects.blender.org/blender/blender/pulls/124634
2024-07-13 16:54:25 +02:00
Campbell Barton
9fb0d3c3ef Cleanup: spelling in comments 2024-07-13 16:56:57 +10:00
Campbell Barton
355aced2c4 Cleanup: various non-functional changes, remove redundant null check 2024-07-13 16:56:55 +10:00
Campbell Barton
cc81eeff3b Unbreak build from missing include 2024-07-13 16:56:53 +10:00
Sean Kim
26159ace0b Cleanup: make format 2024-07-12 16:23:49 -07:00
Sean Kim
4b515e9a49 Sculpt: Initial data oriented refactor of topology relax brush
Part of #118145.

Largely shares code with the Relax Face Set brush

Pull Request: https://projects.blender.org/blender/blender/pulls/124633
2024-07-13 00:54:20 +02:00
Harley Acheson
858f58fde5 Fix #124626: Check for Null Area Type for Get_Name & Get_Icon
This report demonstrates a time when an area can have a null
SpaceType. This just adds an extra check for this.

Pull Request: https://projects.blender.org/blender/blender/pulls/124631
2024-07-12 22:45:23 +02:00
Alaska
0afee246ea Fix #124593: Reorder EEVEE material shadow versioning
Caused by 983e4a7543

Bail out case should be at the top

Pull Request: https://projects.blender.org/blender/blender/pulls/124600
2024-07-12 22:44:01 +02:00
Hans Goudey
40c25eaa03 Fix: Viewport transform node projection incorrectly transformed
The projection was transformed by the object transform, but it's meant
to be in camera space, not affected by the camera view transform or by
the local object's transform. This fix makes viewport raycasting use
cases work without a manual fix in nodes.

Pull Request: https://projects.blender.org/blender/blender/pulls/124610
2024-07-12 21:40:37 +02:00
Sean Kim
178966b0ba Fix: Draw Sharp and Topology Slide use incorrect position data
These brushes should use positions_eval, not the original data sourced
from the undo nodes for determining the clipping & translation.

Pull Request: https://projects.blender.org/blender/blender/pulls/124572
2024-07-12 20:59:02 +02:00
Sean Kim
f03b35e669 Fix: Relax Face Set deform & shape key extra application
Missed in 4f73bf2871

Pull Request: https://projects.blender.org/blender/blender/pulls/124573
2024-07-12 20:47:21 +02:00
Harley Acheson
2ca366827c Cleanup: Space_node.cc static_casts
Use of static_cast in place of c-style casts in space_node.cc.

Pull Request: https://projects.blender.org/blender/blender/pulls/124562
2024-07-12 17:14:59 +02:00
Sebastian Parborg
231f1d719f Cleanup: Combine two if statements in the VSE retiming code 2024-07-12 16:56:11 +02:00
Hans Goudey
c1f701762b Merge branch 'blender-v4.2-release' 2024-07-12 10:35:01 -04:00
Hans Goudey
38ee38f35f Fix #124548: Node tools redo behavior inconsistent
Currently the node tool operator stores the mouse position from
the first execution because it's not possible to retrieve it again from
the operator redo callback which doesn't have access to the event.

However, other inputs like the region size and the viewport transform
are retrieved again for every redo execution. This creates inconsistency
and generally makes redo less useful for node tools than it should be.
Generally tweaking an input in the redo panel should keep everything
else the same.

This commit adds the rest of the inputs as RNA properties just like
how mouse position is already handled.

Pull Request: https://projects.blender.org/blender/blender/pulls/124557
2024-07-12 16:23:20 +02:00
Falk David
ec2839e0ee GPv3: Draw Tool: Enable eraser while holding CTRL
This allows the draw tool to temporarily enable the eraser.

Adds a new `BrushStrokeMode` called `BRUSH_STROKE_ERASE`.
This is used by the keymap to enable erasing while using
the draw tool with CTRL.

Pull Request: https://projects.blender.org/blender/blender/pulls/124591
2024-07-12 16:07:28 +02:00
Lukas Tönne
0a70096a5b GPv3: Interpolate Tool
Interpolation tool for strokes ported from GPv2.

Adds a new operator that inserts a new frame with interpolated curves.
The source curves are taken from the previous/next keyframe.

Co-authored-by: Hans Goudey <hans@blender.org>
Pull Request: https://projects.blender.org/blender/blender/pulls/122155
2024-07-12 15:59:56 +02:00
Bastien Montagne
e576c19097 Fix (unreported) broken CMake regex to filter RNA C/C++ files.
No idea _why_ the previous regex is not working as expected, AFAICS it
is valid. But it did fill `GENSRC_C` list with all RNA `.cc` generated
files.
2024-07-12 15:52:54 +02:00
Sebastian Parborg
1eaa47c215 Fix: Don't draw spans for out of bounds retiming keys in the VSE
Previously the spans would be drawn even if you had slid the retiming
keys out of bounds of the strip margins, leading to them being drawn out
side of the strip.

Pull Request: https://projects.blender.org/blender/blender/pulls/123438
2024-07-12 15:43:29 +02:00
Sebastian Parborg
7b25d1327e VSE: Hook up sound subframe sliding to the VSE slip modal operator
Updates the slide operator to be able to do subframe adjustments of
audio strips. If you hold shift while sliding (the S shortcut), it will
start to do subframe adjustments. It is also possible to type in
fractional inputs while in modal mode. (IE start sliding then type 1.5)
2024-07-12 15:43:27 +02:00
Sebastian Parborg
fb6aaf3200 VSE: Expose subframe sound offset to the end user
It is now possible to adjust the built in sound offset of the sound
strips.
2024-07-12 15:43:27 +02:00
Sebastian Parborg
f7de07d88b Fix: Positive Sound offsets not working
Regular sound offsets (based on VSE strip offset) only worked with
negative values even if the waveform was draw correctly. Fix so positive
frame offsets does the correct thing.
2024-07-12 15:43:27 +02:00
Jeroen Bakker
14fb537eca Merge branch 'blender-v4.2-release' 2024-07-12 15:41:39 +02:00
Jeroen Bakker
8ac023da61 Fix #124530: EEVEE: Math wrap function not working
Due to incorrect check the result was always returning the min
parameter.

Found issue by comparing the implementation with cycles.
Regression introduced by 7fe7b2eed0

Pull Request: https://projects.blender.org/blender/blender/pulls/124604
2024-07-12 15:40:12 +02:00
Falk David
00a640a482 Cleanup: Remove unnecessary break statements 2024-07-12 14:56:53 +02:00
Jeroen Bakker
d953f6b6f7 Vulkan: Reset command buffer
Previously we create a new command buffer when the render graph is being
submitted. This PR changes that by resetting the command buffer for
reuse.

Pull Request: https://projects.blender.org/blender/blender/pulls/124596
2024-07-12 14:38:42 +02:00
Pratik Borhade
05e7a2f1b2 Fix: Make undo step after renaming socket
This is a regression since the new tree-view is used for nodes.
@mod_moder spotted this in #124546

Pull Request: https://projects.blender.org/blender/blender/pulls/124592
2024-07-12 13:26:02 +02:00
Jacques Lucke
052d011c5e Fix: group input node socket with gizmo does not show label 2024-07-12 13:09:57 +02:00
Jacques Lucke
09c29ed625 Merge branch 'blender-v4.2-release' 2024-07-12 13:00:58 +02:00
Jacques Lucke
eb55d3f0d6 Fix: wrong type cast in previous commit
This was broken in 4c7456677d.
2024-07-12 13:00:30 +02:00
Omar Emara
308b53746b Fix #101263: Vector pass wrongly saved in File Output
The vector pass and potentially other vectors that store 4 values are
stored wrongly, in particular, the last channel is ignored. To fix this
we identify if a vector pass is 4D and store the information in the
result meta data, then use this information to either save a 3D or a 4D
pass in the File Output node.

This is a CPU implementation of the same mechanism in the GPU compositor
implemented in 57a6832b17. The CPU implementation is a bit more complex
because the CPU compositors stores 4D vectors in color images internally
which can lead to information loss in case of implicit conversion when
the File Output has vector sockets. So what we do is force all vector
inputs to the File Output operation to be color, then save that as 3D or
4D depending on the meta data as well as the original UI socket type.

Pull Request: https://projects.blender.org/blender/blender/pulls/124580
2024-07-12 12:53:16 +02:00
Jeroen Bakker
0cbc354b54 Fix: Vulkan: Texture Views ignored array length
The array-length of a texture view isn't stored at the same location as
the array-base and was forgotten that it was a feature what had to be
supported.

Detected when testing `monster.blend` where the SSS object id wasn't
set and lead to missing materials.

**Before**
![image](/attachments/e503a48a-d365-459b-901d-7b72f224e163)

**After**
![image](/attachments/a321494b-042a-4534-a4e0-b864babbd5aa)

Pull Request: https://projects.blender.org/blender/blender/pulls/124590
2024-07-12 12:50:50 +02:00
Christoph Lendenfeld
1a8053939b Fix #106372: Wrong message in driver for disabled execution
When using a python expression, its execution is disabled by
default unless specified differently in the user preferences.
Previously this only produced the error
"Error: Invalid Python expression". However that isn't really the correct error.

Now the error reads "Python restricted for security".

I've added a new flag to the driver `DRIVER_FLAG_PYTHON_BLOCKED` that is set
if the driver can't run because python is blocked

Co-authored by Phillip Oeser

Pull Request: https://projects.blender.org/blender/blender/pulls/124587
2024-07-12 12:37:15 +02:00
Christoph Lendenfeld
780dc67f6d Fix #124125: Depsgraph and scene time out of sync
When quickly running the "frame step" and "insert key" operators it was possible to
run the key insertion when the depsgraph hasn't yet been updated.
Because the key insertion code took the frame from the scene, but the channel values
from the depsgraph, the inserted keys were appearing to be duplicated from a different frame.

The fix is to ensure an evaluated depsgraph is used, so the correct values are placed
at the correct time.

Pull Request: https://projects.blender.org/blender/blender/pulls/124583
2024-07-12 12:09:12 +02:00
Sybren A. Stüvel
d828e9471e Anim: add concept of 'active slot'
Add the concept of 'active slot' within an Action. This allows
clicking on a slot in the Action editor, to select it and mark it as
'active'.

Note that this does _not_ add support for action slots in
`ANIM_set_active_channel()`, as that function doesn't get enough info
to do that, and refactoring it is not on my wishlist.

RNA property `action.slots.active` can be used to access and set the
active slot in Python. `slot.active` can be used to query the slot's
active state, and is read-only (so that there is one way to set the
active slot).

A panel in the Action editor shows info about the active slot. This
panel is just a minimal UI that shows the name and an icon
representing the idtype of the active slot.

Pull Request: https://projects.blender.org/blender/blender/pulls/124422
2024-07-12 11:59:04 +02:00