Commit Graph

120055 Commits

Author SHA1 Message Date
Omar Emara
7220b3bb19 Compositor: Implement Bokeh Image for new CPU compositor
Reference #125968.
2024-11-06 13:36:41 +02:00
Aras Pranckevicius
e0551e2826 Merge branch 'blender-v4.3-release' 2024-11-06 13:16:59 +02:00
Aras Pranckevicius
3d457fa5d4 Fix #129876: VSE playhead text wrongly gets outline while playing
Caused by sticky text shadow enable that was not reset back

Pull Request: https://projects.blender.org/blender/blender/pulls/129906
2024-11-06 12:15:34 +01:00
Campbell Barton
273bccb108 Cleanup: remove unused arguments, quiet unused assignment warning 2024-11-06 21:37:06 +11:00
Hans Goudey
0d4ce60772 Cleanup: Various changes in curves selection code
- Change variable names for consistency
- Split common code to function
- Create simple struct with curly brackets
- Avoid random access to IndexMask
- Remove obvious comments
- Use const references for float3
2024-11-06 11:21:03 +01:00
Bastien Montagne
87bf983030 Merge branch 'blender-v4.3-release' 2024-11-06 11:14:25 +01:00
Bastien Montagne
d0ca77f587 Add minimal user report about unreadable future blendfiles.
This commit adds a minimal, simple detection for future, incompatible
blendfiles (in case the header itself is modified).

The current available info does not allow to be more specific, but at
least this avoids telling users that it is not a blendfile.

In the future, the new header format designed in #129309 for Blender 5.0
should allow for a better report (since the first 16 bytes of the header
should always have the same meaning from there on).

Pull Request: https://projects.blender.org/blender/blender/pulls/129875
2024-11-06 11:13:28 +01:00
Sean Kim
bb01e3e37d Fix: Enhance details brush does not work with hidden faces
Similar to !129886

Pull Request: https://projects.blender.org/blender/blender/pulls/129888
2024-11-06 10:06:07 +01:00
Iliya Katueshenock
6255c49685 Fix: Geometry Nodes: Skip string attribute processing in some nodes
String attribute type generally not supported in geometry nodes currently.

Pull Request: https://projects.blender.org/blender/blender/pulls/129882
2024-11-06 07:16:36 +01:00
Jacques Lucke
126b9c6eaf Merge branch 'blender-v4.3-release' 2024-11-06 07:08:01 +01:00
Jacques Lucke
05e27b4aec Fix #128948: crash when changing area type and starting modal operator from script
The issue was that changing the area did not immediately update the
`snode->edittree` when changing between different node editor types. That update
only happened later in `node_area_refresh`. However, by that time, the `poll`
function of the modal operator has already succeeded even though when there
operator actually starts `poll` would not succeed anymore.

Pull Request: https://projects.blender.org/blender/blender/pulls/129870
2024-11-06 07:04:04 +01:00
Richard Antalik
f27220f6b6 Merge branch 'blender-v4.3-release' 2024-11-06 05:44:11 +01:00
Richard Antalik
b193684b5d VSE: Use snapping for retiming keys
Retiming keys now can be used as snap sources or targets. Snapping to
keys can be disabled similar to other targets.

Pull Request: https://projects.blender.org/blender/blender/pulls/129709
2024-11-06 05:43:34 +01:00
Richard Antalik
6ee1eb49be Fix #126167: Speed effect does not interpolate frame numbers
Only convert frame number to integer when image interpolation is not
used.

Pull Request: https://projects.blender.org/blender/blender/pulls/129839
2024-11-06 05:39:30 +01:00
Richard Antalik
b05e932ec6 Fix #126272: Set speed operator doesn't work correctly
Caused by 2 issues:
- Incorrect logic when checking if added key matches last key
- FPS mismatch not compensated in `SEQ_retiming_key_speed_set()`

Also `seq_retiming_evaluate()` output was not clamped to 0-1 range. This
was not causing issues in sample .blend file, but output should be
clamped.

Pull Request: https://projects.blender.org/blender/blender/pulls/129838
2024-11-06 05:25:54 +01:00
Richard Antalik
9840dd233c Fix: VSE: use after free in for loop
Same fix as 2a32b26415 - initialize range before using it in for loop

Pull Request: https://projects.blender.org/blender/blender/pulls/129835
2024-11-06 05:24:49 +01:00
Pratik Borhade
40162873e0 Fix #129632: GPv3: Vgroup operation edits drawings from all keyframes
Verge groups operations such as assign/remove/select/deselect from data
properties tab edits all drawings instead of visible drawings at current
frame. Now fixed with `retrieve_editable_drawings`.
For remove/remove_from operator, separate PR is created: !129890

Pull Request: https://projects.blender.org/blender/blender/pulls/129789
2024-11-06 04:16:48 +01:00
Campbell Barton
5f14c70a19 Merge branch 'blender-v4.3-release' 2024-11-06 10:52:00 +11:00
Campbell Barton
96ac7b7ff3 Merge branch 'blender-v4.3-release' 2024-11-06 10:51:53 +11:00
Campbell Barton
a1dfd51fae Cleanup: rename SceneEEVEE::gtao_quality -> fast_gi_quality
Avoid confusion from misleading/incorrect names, see: #129830.
2024-11-06 10:49:58 +11:00
Campbell Barton
6ccbafc5dc Cleanup: spelling in comments 2024-11-06 10:49:51 +11:00
Sean Kim
09ab950951 Merge branch 'blender-v4.3-release' 2024-11-05 15:21:36 -08:00
Sean Kim
630455d686 Fix #129840: Various mesh filter modes do not work with hidden polygons
Mesh filter modes that use averaged neighbor data were not passing in
the mesh `hide_poly` attribute data, leading to incorrect behavior when
calculating averaged positions. To fix this and account for hidden
elements since we are operating on the entire mesh, we pass in the
attribute and use the `neighbor_data_average_mesh_check_loose` method to
account for vertices with no neighbors.

Pull Request: https://projects.blender.org/blender/blender/pulls/129886
2024-11-06 00:20:19 +01:00
Hans Goudey
005e02d008 Sculpt: Simplify & optimize position undo with shape keys
For undo/redo of position undo steps, currently we do some processing
that scales with the size of the mesh. The code is also more complex
than necessary-- we don't make use of the relations between some
concepts to simplify things.

This commit unifies the loops, mostly by making use of the fact that we
only need to modify the original mesh positions. When there are deform
modifiers a reevaluation will update the evaluated positions, and other-
wise, the original and evaluated positions are the same anyway.

Related to #129496.

Pull Request: https://projects.blender.org/blender/blender/pulls/129783
2024-11-06 00:03:07 +01:00
Jesse Yurkovich
eb70a95eb4 Cleanup: fix unused parameter warnings 2024-11-05 23:29:19 +01:00
Jesse Yurkovich
b4c2feea38 USD: enable material displacement support
This enables material displacement for UsdPreviewSurface import and
export. Scenarios are limited by what's supported by the preview surface
itself. Namely only Object Space displacement can be used (no vector
displacement)[1] and the Midlevel and Scale parameters are maintained by
adjusting the scale-bias on the image texture controlling the Height
(this means that Midlevel and Scale must be constants).

Hydra/MaterialX support is more complicated. First, there is a bug which
prevents scalar displacment from working correctly and that needs USD
2408+ for the fix[2]. Second, is that there's an open question about
which coordinate system to use for MaterialX's vector displacement maps.
Lastly, Hydra GL does not render displacement, making verification using
only Blender impossible[3]. As a result, this PR only makes MaterialX
"ready" for support, but stops short of actually connecting the final
piece of the node graph until more of the above can be sorted out.

Tests are added which cover:
- Variations of Midlevel and Scale values
- A constant Height setup
- Negative scenarios checking that only Object space is supported
  and that midlevel and scale need to be constants

[1] https://openusd.org/release/spec_usdpreviewsurface.html
[2] https://github.com/PixarAnimationStudios/OpenUSD/issues/3325
[3] https://forum.aousd.org/t/materialx-displacement-hydra-storm/1098/2

Pull Request: https://projects.blender.org/blender/blender/pulls/128909
2024-11-05 20:37:36 +01:00
Aras Pranckevicius
0598db079d Cleanup: Remove lite build warning 2024-11-05 21:02:53 +02:00
Bastien Montagne
eb244c9460 Merge branch 'blender-v4.3-release' 2024-11-05 19:36:22 +01:00
Bastien Montagne
6fb6cd64b1 Fix 'missing files' operator not reporting which ID is using the missing filepath.
No idea why this was not reported before... Kind of critical info here.

Committed directly to 4.2 as:
* This is trivial change with extremely small risk of causing issues.
* Gold team at the studio needs it to better cleanup the production
  files for publication.
2024-11-05 19:32:05 +01:00
Laurynas Duburas
d9b6f095b6 Fix #129858: Curves: Edit mode selection highlight missing
Makes only Bezier handles dependent on View3DOverlay.display_handle property.
Handles of NURBS, Catmull and Poly curves are always shown.

Pull Request: https://projects.blender.org/blender/blender/pulls/129874
2024-11-05 19:19:11 +01:00
Jesse Yurkovich
555961c5cb Merge branch 'blender-v4.3-release' 2024-11-05 10:09:49 -08:00
Jesse Yurkovich
38ac003703 Fix #129618: Tag Image ID inside the IMAGE_OT_replace operator
Follow what was already done with the "reload" operator and tag the
Image ID during "replace".

A tag of "0" is used for now until we can investigate why the other more
appropriate values are not working.

Pull Request: https://projects.blender.org/blender/blender/pulls/129619
2024-11-05 19:08:26 +01:00
Clément Foucault
351575bc83 Fix: EEVEE: Depth of Field regression
Fix regression introduced by d712be0662
2024-11-05 18:19:59 +01:00
Clément Foucault
8c0bd61342 Merge branch 'blender-v4.3-release' 2024-11-05 17:40:49 +01:00
Clément Foucault
32f4754a38 Fix: EEVEE: Volume: Assert on MacOS with high resolution
This would happen if the viewport with large enough
and a tile resolution of 1:1 was choosen.

This changes the fallback behavior from simply clamping
the resolution (which did break a lot of math downstream),
to simply finding the next largest tile size that fits
the hardware requirements.
2024-11-05 17:40:06 +01:00
Clément Foucault
750a9af518 Fix #129705: EEVEE: Light Probe RAM Pool Crash on MacOS
Crash manifested after the inclusion of #128877.
The very tall 3D texture tested by the new code
were not supported / tested by the Metal Backend.

Simply adding the appropriate upfront checks fixes
the issue.

Needs to be backported to 4.2
2024-11-05 17:37:02 +01:00
Clément Foucault
43b5e2d0ed Fix: EEVEE: Add buffer workaround for stencil classification
Adding a dummy storage buffer to the classification shader
seems to fix the issue on Qualcomm drivers (WoA).

The workaround is added to the force workaround option to
allow other platforms to test the fix.

Rel #122837

Pull Request: https://projects.blender.org/blender/blender/pulls/129857
2024-11-05 17:12:28 +01:00
Julian Eisel
fd2d2f225f Fix #128744: Reverting single essentials brush reverts all
Code used library reloading which would reload all data-blocks from a
data-block library. Since the essentials brushes are stored in a single
.blend file (one per mode), they would all be reset. In general this
violates the design where multiple brushes in a single .blend file
should be usable just fine. (A single file per brush is only necessary
to allow saving edits to that file without opening it.)

Instead of library reloading, delete the brush from the current file and
re-link it.

The link/append API should probably get support for reloading a single
data-block (and optionally its dependencies) but for now this is not
supported yet.

Pull Request: https://projects.blender.org/blender/blender/pulls/129866
2024-11-05 17:05:15 +01:00
Aras Pranckevicius
39c4c7cf3f ffmpeg: 10 and 12 bit video support
Part of overall #118493 task: video input/output support at 10 and 12
bit/component formats. (note: this is still LDR videos just at higher
precision; there's no HDR handling (yet)).

Movie reading/playback: when movie file pixel format has >8 bit
components, decode those into a floating point ImBuf result. Previously
all movies were decoded into 8 bit/channel ImBufs, so 10- and 12-bit
movie pixel colors were getting quantized.

Movie output: when ffmpeg video with suitable codec is selected,
there's a color depth setting under Encoding block. Currently that is:
- 10 bit option for H.264, H.265, AV1 (VP9 could do 10 bit in theory too,
  but ffmpeg that is built in Blender does not have that compiled in)
- 12 bit option for H.265, AV1

When "lossless" is picked, then similar to how for regular 8-bit video
it switches from YUV 4:2:0 to 4:4:4, this also switches to 4:4:4
10- or 12-bit variant.

Pull Request: https://projects.blender.org/blender/blender/pulls/129298
2024-11-05 16:44:16 +01:00
Clément Foucault
f4f94fb055 Merge branch 'blender-v4.3-release' 2024-11-05 16:40:52 +01:00
YimingWu
46b89b2aa4 Fix: GPv3: Some modifiers not working with non-poly curves
Some modifiers expect the curves to be of type `POLY`.
For such modifiers we need to resample the curves to the
evaluated points so that the modifiers work as expected.

Resolves #129859.

Pull Request: https://projects.blender.org/blender/blender/pulls/129860
2024-11-05 16:35:16 +01:00
Jacques Lucke
551e87c4fd Fix #128875: text cursor offset by one
The `UI_BUT_NO_TEXT_PADDING` flag was not taken into account when setting the cursor in a text box.

Pull Request: https://projects.blender.org/blender/blender/pulls/129299
2024-11-05 15:56:54 +01:00
Jacques Lucke
9d87291c40 Fix #129691: heap buffer overflow when writing unaligned data to .blend file
`writedata` used to align the written buffer size to a multiple of 4. This
causes multiple issues:
* Writes uninitialized data.
* Crash with ASAN due to a heap buffer overflow if the buffer is not any longer
  than what is passed in.
* Modifies the length of the buffer which can't be undone when reading the
  buffer again.

I don't know of any reason for this alignment here. I'd think that it doesn't
matter when writing to a file. If it would matter, then we should probably align
to at least 8 nowadays because that's the alignment of pointers. The original
reason for this alignment seems to be lost to history. It was already part of
the initial commit.

Pull Request: https://projects.blender.org/blender/blender/pulls/129821
2024-11-05 15:51:37 +01:00
Christoph Lendenfeld
71692abd59 Fix #127949: able to pan keys out of view if channels are not shown
The issue was that with a96f1208cc the clamping
of the `View2D` happened in the drawing function
of the channel list. That of course won't work if the
channel list isn't drawn.

The fix is to ALSO clamp in the drawing function of
the main area. The reason this has to be in addition, is that
(I think) the channel box is drawn first. So if the clamping doesn't
happen there, the channels and their keys can lose their vertical
alignment.

Pull Request: https://projects.blender.org/blender/blender/pulls/129864
2024-11-05 15:34:22 +01:00
Clément Foucault
2478ae699d Merge branch 'blender-v4.3-release' 2024-11-05 15:08:15 +01:00
Clément Foucault
118ca96c8a GPU: Enable shader interface check for geometry shader fallback 2024-11-05 15:07:56 +01:00
Clément Foucault
e47e720f06 Fix #126415: EEVEE: Halo on motion blurred out of focus objects
Was caused by swapped depth of field and motion blur effects.
2024-11-05 15:05:42 +01:00
Bastien Montagne
2c9e7676a3 Merge branch 'blender-v4.3-release' 2024-11-05 15:01:20 +01:00
Bastien Montagne
c945f1356e Cleanup: Remove 'missing proxies' from readfile reports.
These have been removed since 4.0, this is not a pertinent information
to single out anymore.

Also downgrade report about missing obdata to `WARNING`, `ERROR` is a
bit strong for this.
2024-11-05 15:01:14 +01:00
Bastien Montagne
e2b1e9912c Fix readfile linking code not protected against invalid BHeads.
Follow up to 6ba58a8303, apply similar checks to code loading
linked data from blendfile libraries.
2024-11-05 14:38:30 +01:00