Commit Graph

139139 Commits

Author SHA1 Message Date
Bastien Montagne
50076993f3 Refactor: UI: Use std::variant instead of Union for non-trivial data.
Unions make handling of non-trivial data 'members'... non-trivial.

Since `PointerRNA` is going to become non-trivial, this commit replaces
the Union storing delta, min and max values of editied RNA properties
in `ui_selectcontext_apply`, into a `std::variant`.

It also adds a new accessor to RNA string properties, returning a
`std::string` data, and uses this type to store string properties values
in `ui_selectcontext_apply`.

Pull Request: https://projects.blender.org/blender/blender/pulls/124727
2024-07-15 18:23:23 +02:00
Clément Foucault
d7a7491518 Fix: EEVEE: Missing shader include
Caused by 3fcd80db68
2024-07-15 18:15:34 +02:00
Clément Foucault
d25b99aa64 EEVEE: Depth Of Field: Add debug visualization
This allows to see which stage is causing trouble.
2024-07-15 17:36:35 +02:00
Falk David
8c9df38eb9 Fix: GPv3: Conversion of edit curves not working correctly
There was a case where we wouldn't convert edit curves correctly,
specifically when the user created an edit curve
(using "Curve Editing") and then changes the stroke outside of
curve editing. This invalidates the edit curve, but does not
deallocate it.

The conversion assumed that any allocated edit curve is valid.

Now we check for the `GP_CURVE_NEEDS_STROKE_UPDATE` flag
to skip invalid edit curves (and use the stroke instead).
2024-07-15 17:13:38 +02:00
Weizhen Huang
3fcd80db68 Fix #124621: EEVEE closure reservoir sampling not considering color weight
color was not taken into consideration when picking a closure using
reservoir sampling, giving closures with dark color much higher weights
than they should have.
This fix multiplies the weight by the average color when picking the
closure, similar as what has been done in principled BSDF.

Pull Request: https://projects.blender.org/blender/blender/pulls/124730
2024-07-15 17:00:51 +02:00
Sebastian Parborg
4f46493eae VSE: Reword the text of the movie add "use_framerate" option
Reword the setting to be more clear what it actually does.

Pull Request: https://projects.blender.org/blender/blender/pulls/124613
2024-07-15 16:56:12 +02:00
Thomas Dinges
8aedcd5143 Merge branch 'blender-v4.2-release' 2024-07-15 16:41:40 +02:00
Thomas Dinges
1c3d51a2f1 Release: Update freedesktop xml for 4.2. 2024-07-15 16:40:01 +02:00
Bastien Montagne
c607ead4b7 Refactor: Makesrna: move generated code further in C++.
This commit moves generated `RNA_blender.h`, `RNA_prototype.h` and
`RNA_blender_cpp.h` headers to become C++ header files.

It also removes the now useless `RNA_EXTERN_C` defines, and just
directly use the `extern` keyword. We do not need anymore `extern "C"`
declarations here.

Pull Request: https://projects.blender.org/blender/blender/pulls/124469
2024-07-15 16:39:45 +02:00
Alaska
cf96136ec6 Fix #124705: Incorrect SSS method used in OptiX OSL
Update the string hashs in SSS OSL closure setup so they match the
strings being used by the SSS node.

This fixes two issues in OptiX OSL:
- SSS Random Walk would render as Random Walk Skin.
- Random Walk Skin wouldn't render at all.

Pull Request: https://projects.blender.org/blender/blender/pulls/124707
2024-07-15 16:23:45 +02:00
Jeroen Bakker
0d71d83d47 Vulkan: Share rendergraphs on context inside same thread
This PR will share render graphs between all contexts that run in
the same thread. This allows the draw manager commands to be added
to the same render graph as the UI.

- Fixes debug groups hiearchy. Draw manager would restart a hierarchy as
  it wasn't aware of the debug groups already added by the UI
- Removes cpu sync when switching between contexts.

In a future change this is needed to improve discarding resources.

Pull Request: https://projects.blender.org/blender/blender/pulls/124715
2024-07-15 16:03:51 +02:00
Jeroen Bakker
b761d3435f Image Plane: Add support for EEVEE
- Fixes incorrect handling of incompatible engines. There is a global list of compatible
  engines, but `create_cycles_material` didn't use it, displaying an incorrect warning
  when using the operator.
- Add `BLENDER_EEVEE_NEXT` to compatible engines.
- Remove `BLENDER_EEVEE` from compatible engines.
- Add render method option. This replaces the material `blend_method`
- Remove material blend method option (replaced by `render_method`)
- Remove material shadow option. Not needed anymore as shadows use
  the node tree for evaluation.

**TODO**
- Manual should still be updated. Will be done after this patch lands.
- I did some basic tests. I am not familiar with this operator, but think it
  should handle all the different cases. Would be nice to have some
  render tests for this to detect regressions.

Implements: #122315
Pull Request: https://projects.blender.org/blender/blender/pulls/124094
2024-07-15 15:35:57 +02:00
Pratik Borhade
5f54c463c0 Fix #124501: Make Cycles camera DOF UI consistent with EEVEE
Fix labels and add DOF eyedropper button in camera properties panel.

Pull Request: https://projects.blender.org/blender/blender/pulls/124506
2024-07-15 15:26:32 +02:00
Hans Goudey
5a293e5cc2 Fix #124703: MEM_free/MEM_new mismatch in file browser code
See 06be295946.
Caused by efa6525bf1.
2024-07-15 08:40:31 -04:00
Sergey Sharybin
ed873e420a Refactor: Make PaintStroke::mode_data an unique pointer
Should be no functional changes on user level.

Incidentally, this change fixes memory leak in grease pencil.

For the ease of detecting memory leaks in the future we might
consider adding MEM_CXX_CLASS_ALLOC_FUNCS to the PaintModeData.
But maybe look into this as a separate follow-up.

Pull Request: https://projects.blender.org/blender/blender/pulls/124612
2024-07-15 14:29:27 +02:00
Julian Eisel
a843d93bd1 Cleanup: Remove unused icon defines
Missed these in 088b885087.
2024-07-15 14:15:11 +02:00
Pratik Borhade
a33b1a8da0 Fix: GPv3: Sculpt mode crash after brush assets merge
Blender was crashing when sculpting on a frame that had no keyframe
under the playhead.
Use brush from correct context with the help of `BKE_paint_get_active`.

Pull Request: https://projects.blender.org/blender/blender/pulls/124397
2024-07-15 12:17:53 +02:00
Julian Eisel
088b885087 UI: Remove unused brush preview icons, now replaced by asset previews
Since 7b0ea0f1b4, brushes use the asset system and previews are stored
in the asset source blend files. The bundled ones are part of the
essentials asset library, see
`release/datafiles/assets/publis/brushes/essentials_brushes.blend`.

Note that this doesn't remove the toolbar icons for these brushes yet.

Initially reviewed in (but this commit contains further changes missing
in the PR):
https://projects.blender.org/blender/blender/pulls/123842
2024-07-15 12:09:21 +02:00
Clément Foucault
c7bcd1137f Fix: UI: Hide studiolight world orientation button for Cycles
This option is not available in EEVEE anymore. Limit the
visibility to Workbench.

Fix #124521

Pull Request: https://projects.blender.org/blender/blender/pulls/124717
2024-07-15 11:59:26 +02:00
Aras Pranckevicius
f08d72fceb Merge branch 'blender-v4.2-release' 2024-07-15 12:49:01 +03:00
Aras Pranckevicius
4d6ba7604d Fix #124584: VSE thumbnail transparency for muted strips is wrongly stored in cache
Make sure the code that alters the VSE thumbnail to add transparency
(for disabled strips) works on a copy of the image, so that the extra
transparency does not get "stored" into the thumbnail cache.

Pull Request: https://projects.blender.org/blender/blender/pulls/124689
2024-07-15 11:47:39 +02:00
Campbell Barton
84b0ccdd4b Merge branch 'blender-v4.2-release' 2024-07-15 19:42:57 +10:00
Campbell Barton
cec4531dde Fix window creation error on wayland when EGL resource allocation fails
Quickly opening & closing windows could result in an error allocating
the EGL context.

In my tests the window would be created but not display (in GNOME)
hanging for a while although Blender could be usable again after a
while. However some users report this crashing (see #123096).

Change the behavior to match X11, where failure to set the context
makes the GHOSTWindow::getValid return false.

In my tests the Blender window is created after a short delay.
This may also resolve #123096.
2024-07-15 19:41:51 +10:00
Bastien Montagne
e25756cb62 RNA: Fix illegal types mismatch in extern'ed PropertyRNA data.
Previous code would declare properties as `extern PropertyRNA`, but
implement them as type-refined data (e.g. `FloatPropertyRNA`).

This is fully illegal thing, it happened to work 'fine' so far for two
main reasons:
* C-linking does not do type-checks on extern data.
* Code using these publicly exposed data would always use them as
  `PorpertyRNA *` pointers, and pass them to RNA API.

However, this (finally !) breaks when trying to move generated
`RNA_property.h` header to C++, since at least MSVC2022 does mangle the
type in the extern'ed symbol name, which makes linking fails epically.

This commit fixes the issue by only declaring `PointerRNA *` pointers in
the headers. These pointers are then defined in each implementation file
(the `rna_xxx_gen.cc` ones), and assinged to the address of a matching
local static variable. These static variables are type-refined, and
actually contain the property definition data.

Pull Request: https://projects.blender.org/blender/blender/pulls/124603
2024-07-15 11:34:27 +02:00
Omar Emara
970ec097e3 Cleanup: Fix missing declaration warning 2024-07-15 11:42:35 +03:00
Bastien Montagne
cbc1c1e455 Merge branch 'blender-v4.2-release' 2024-07-15 10:36:33 +02:00
Bastien Montagne
510270f80a I18N: updated UI translations from git/weblate repository (43b5cb1cbab4c7ea). 2024-07-15 10:36:02 +02:00
Nathan Vegdahl
b792515644 Fix: deleting keys on buttons doesn't work with layered actions
Deleting keys via the right-click menu on property buttons failed to do anything
when the keys were part of a layered action.

The root cause was simply that the code for that hadn't been updated to support
layered actions yet. This updates that code to support Baklava phase-1 layered
actions.

Pull Request: https://projects.blender.org/blender/blender/pulls/124598
2024-07-15 10:26:41 +02:00
Philipp Oeser
e2173fbe9f Merge branch 'blender-v4.2-release' 2024-07-15 09:54:09 +02:00
Lukas Tönne
9ce61d7222 Fix #123076: Remove UI line for removed property
The `keep_custom_normals` property was removed in
f3c32a36bc.

Pull Request: https://projects.blender.org/blender/blender/pulls/123079
2024-07-15 09:51:55 +02:00
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
Campbell Barton
6120b2f605 Merge branch 'blender-v4.2-release' 2024-07-14 21:19:45 +10:00
Campbell Barton
b5145d6889 Fix #121469: "Enable Add-on" ignored when already installed
The logic to handle disabling, upgrading & re-enabling extensions
incorrectly assumed all installed add-ons were enabled.

Resolve by only using this logic on installed & enabled add-ons.
2024-07-14 21:14:14 +10: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
9d2401ddcf Merge branch 'blender-v4.2-release' 2024-07-14 20:23:40 +10:00
YimingWu
0f1f0d92bc Fix #124454: Allow BF_DIST_BIN to be a symlink
In `blender-launcher` on linux, the `$0` could be assigned to
a symlink instead of an actual directory, which may cause infinite
chaining of the command which ultimately gives an arguent string that's
way too long. This fix prevents that by using `readlink -f` first.

This fix was implemented by @Joel-Schumacher

Ref: !124533
2024-07-14 20:20:19 +10: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