The hover highlight is done with some special handling that wasn't
called for buttons in menus. There's actually no case where this happens
in the main branch but it's needed for #104831.
No user visible changes expected.
It makes sense to disable embossing for drawing the tree view (so it
doesn't have to be disabled for every item individually), but then the
mouse hover highlight should still work.
The makes the zone analysis result a bit more well defined.
For example, `child_nodes` now never contains nodes that belong
to child zones.
Also, one can now easily access the set of top level nodes and zones.
When using the `WITH_LINKER_LLD` option, the logic to find the `ld.lld`
binary and actually tell the build system to use it was specific to GCC.
I've copied the Clang-specific logic for Mold and adjusted it to find
LLD.
Not entirely sure why this is necessary, as LLD is actually Clang's
linker. However, without this change, CMake would use regular old slow
`ld` to link.
Pull Request: https://projects.blender.org/blender/blender/pulls/108884
The flag in bNodePanel is anticipated to store settings such as whether
a panel is open or closed by default. It's not currently used, so for
now the flag is removed.
The next_panel_identifier in bNodeTree is also not needed any more. It
was used to set a unique identifier for each panel, which isn't needed.
Added comments to remaining fields in bNodePanel.
Pull Request: https://projects.blender.org/blender/blender/pulls/109028
Geometry nodes supports simulation nodes which allows later frames to depend
on previous frames. The existing geometry nodes regression tests only evaluated
the node tree at a single frame and therefore couldn't test the correct behavior of
simulations.
This adds a new kind of regression test that evaluates the scene at multiple
consecutive frames and then checks if the last frame matches.
Pull Request: https://projects.blender.org/blender/blender/pulls/109046
When packing the largest islands, if the alpaca turns out to be tighter
than all of the other packers, then use alpaca on the large islands
and small islands together in one pass instead of two.
When baking only indirect lighting, light sampling is skipped at the
first bounce. However, light evaluation is still done, so depending
on how the MIS weights end up more or less of the direct lighting
still ends up in the bake.
This is most noticeable with background lighting, but can also be
reproduced with e.g. point lights with a large radius.
Pull Request: https://projects.blender.org/blender/blender/pulls/108955
Move `GeometrySet` and `GeometryComponent` and subclasses
to the `blender::bke` namespace. This wasn't done earlier since
these were one of the first C++ classes used throughout Blender,
but now it is common.
Also remove the now-unnecessary C-header, since all users of
the geometry set header are now in C++.
Pull Request: https://projects.blender.org/blender/blender/pulls/109020
Fixed an issue where meshes without loose elements or hidden triangle
faces were not taking into account the relevant masks.
From the user's perspective, this might not have seemed like a
significant problem. However, hidden faces in edit mode were
occasionally still snappable.
No functional changes
In preparation to tackle the following 2 Todos
* TODO: view scale should factor into this someday too...
* TODO: optimize this to not have to calc stuff out of view too?
I did the following cleanup
* extracted drawing code for `BEZT_IPO_BEZ` into a separate function
* extracted code that calculates the resolution between 2 points into a separate function
* cleaned up comments
* renamed variables to have a more telling name
* moved variables closer to where they are used
* added `const` where possible
Pull Request: https://projects.blender.org/blender/blender/pulls/108748
Duplicating will otherwise keep the same bake directory, which causes
a path conflict and requires manual fixing by users. Clearing the path
on copy makes it so the default path is generated on baking.
This does not change the path when doing internal copies, like
- Depsgraph "evaluated" object vs "original"
- Appending or linking objects
- Making a linked object local
Pull Request: https://projects.blender.org/blender/blender/pulls/109014
This commit implements several changes aimed at enhancing the
readability of the transform snap object code.
The changes are:
- Reduce number of parameters in functions;
- Unify functions;
- Replace enum `eViewProj` with a bool;
- Remove unused members;
- Deduplicate code;
Pull Request: https://projects.blender.org/blender/blender/pulls/109012
Better to disable than crashing, as we are not expecting a quick fix. The cause
is likely similar to issues with the light tree, which was already disabled.
Ref #104013
Caused by 5621154185.
The Perpendicular Snap needs a `prev_co` to work.
But in `Snap With` `Closest` mode the `prev_co` is not calculated.
Thus, when isolated, the snap to Perpendicular is never done.
So this commit puts the `center_global` fallback back to `prev_co`.
Also, if `Snap Base Edit` is used when only the snap to
`Edge Perpendicular` is enabled. `Snap To` will be temporarily set to
`Vert`, `Edge`, `Face` and `Edge Midpoint`.
Keep the PTX compute capability at the same level as the latest
architecture-optimized CUDA kernel.
Should help performance of the future cards when running older
Blender, and maybe will allow to perform JIT optimization faster.
Pull Request: https://projects.blender.org/blender/blender/pulls/109007
The counters for polygons count and face corners count were inverted,
leading to various out of bounds accesses due to wrong data size
allocation.
Not sure where the bug comes from, whether it's original, or a typo from
some refactor.
There should be no functional changes for the typical usecase,
but it allows to have more tricky setups like pointing to a
BAT script to override some configuration.
The issue is that BAT scripts do not support new lines in the
command line arguments. That's where single-line python expression
helps.
For example, it is possible to point benchmark script to a blender.bat
which contains
blender.exe --python-expr "import bpy; bpy.context.preferences.addons['cycles'].preferences.use_oneapirt = False" %*
to have side-by-side numbers of oneAPI with and without HW RT.
Without this change the %* is which did not work: the BAT
script did not "see" part of the command line past the new line.
Pull Request: https://projects.blender.org/blender/blender/pulls/109006
The Alembic procedural was refrenced here even if USD was loaded.
Now check the CacheFile type and let the user know Render Procedurals
are only supported for Alembic atm.
Pull Request: https://projects.blender.org/blender/blender/pulls/108701