Properly track Action and Slot assignment when entering/exiting NLA
tweak mode.
This doesn't properly sync the length of the NLA strip when exiting
tweak mode. This and more NLA work is tracked at #127489.
Pull Request: https://projects.blender.org/blender/blender/pulls/127498
Deforming motion blurred point clouds do not render in Cycles
HIP-RT when BVH timesteps != 0 if Blender is launched with
debug memory.
The root cause is that the size of allocated memory for the
bounding boxes is reported to HIP-RT not the number of valid
bounding boxes.
Pull Request: https://projects.blender.org/blender/blender/pulls/127432
VDB files would fail to render in HIP-RT because NanoVDB wasn't
enabled when compiling HIP-RT kernels, resulting in NanoVDB textures
not being sampled and a blank result being returned instead.
The fix is to enable NanoVDB when compiling HIP-RT kernels.
Ref: #125086
Pull Request: https://projects.blender.org/blender/blender/pulls/127384
Fix the unnecessary recreation of the denoiser that occurs if
Cycles had fallen back to an alternative denoiser in a previous
interation. (E.g. Fallback from OptiX to OIDN)
This issue occured because Cycles didn't understand that when it
previously setup the denoising device, that it had fallen back to
something else. So it thinks the denoising settings have been changes
and tries to recreate the denoiser.
The solution is to first compute the settings change due to
the fallback, then check to see if it's different from the current
denoiser, then recreate the denoiser device if neccesary.
Pull Request: https://projects.blender.org/blender/blender/pulls/125453
As per the human interface guidelines, do not use the same icon in
consecutive items within a group in a menu.
* Operator Search in Top Bar's Edit menu
* Viewport Render Keyframes in Viewport's View menu
The Parent Node Tree operator button to go up a level in nested
node trees is always visible in the header, regardless if we are
currently in a nested tree or not.
Only show the button when it is actually possible to go a level up.
This frees up space in the header when at the top level.
On Windows, if compiler is 32 bit there already is a fatal error. If it
is 64 bit (normal case, and any case when build can actually work), it
feels like "64 bit compiler detected" status message does not indicate
anything useful.
Pull Request: https://projects.blender.org/blender/blender/pulls/127484
Do not try to kill thumbnail generation job when destroying the cache
(which happens as part of destroying the scene) -- all the code
paths that destroy a scene already cancel outstanding WM jobs. And WM
itself might be gone at that point, so accessing a stale pointer to it
can lead to a crash.
Instead, fix the problem of "refresh sequencer can cause a crash" by
not destroying the thumbnail cache, but merely clearing it in
sequencer_refresh_all_exec.
Pull Request: https://projects.blender.org/blender/blender/pulls/127485
The same random number was used for sampling color channel at each step,
which leads to bias. Fixed by rescaling the random number.
Another possibility would be to scramble `rng_offset` and use a new
random number each time, similar as in subsurface scattering, but
rescaling random number should be faster than computing a new one, and
is favorable here since the precision here is not very important
Pull Request: https://projects.blender.org/blender/blender/pulls/127454
This option is meant to ignore any material locking when it
comes to editing strokes that might use locked materials.
There were some issues with the current implementation.
* The name did not reflect what it was supposed to do, so it
was renamed to `ignore_locked_materials`.
* The description of the option has been updated to better
reflect the behavior.
* Some util functions have been refactored
Pull Request: https://projects.blender.org/blender/blender/pulls/127423
For an NLA strip to use a slotted Action, it needs to specify which slot
to use in that action. This is now handled by two new properties on the
strip in DNA & RNA: `action_slot_handle` and `action_slot_name`.
These serve the same purpose as their counterparts on the `AnimData`
struct.
Note that this commit does NOT add NLA evaluation support for slotted
Actions. It merely allows assigning them. Evaluation, tweak mode
support, etc. will be implemented in future commits.
Pull Request: https://projects.blender.org/blender/blender/pulls/127359
Add an RNA function that can log the users of an Action Slot. It's
available in debug builds only, as it is purely a debug tool for C++
developers at the moment.
Eventually it's likely that the list of Action Slot users will be
exposed to RNA/Python directly, but I'll only write code for that once
we actually need it for non-debugging functionality. For now this is
enough.
Select handles of strip available below the cursor when
`selection.seq1/seq2` exists in `sequencer_box_select_invoke`.
Also fixed the condition in `sequencer_main_cursor` so the new
WM_CURSOR_HANDLE is visible.
Pull Request: https://projects.blender.org/blender/blender/pulls/126548
The function was not behaving correctly.
Instead of reimplementing getting the editable strokes,
it calls `retrieve_editable_strokes` directly now.
Then an index mask of the fill strokes is built and
the result is intersected with the editable strokes mask.
If the Smooth brush (which is switched to from other brushes holding
`Shift`) had the following settings (possibly others as well)
- Stabilize Stroke
- Airbrush
- Line
These were ignored (not drawing their correct cursor, airbrush not
working because the timer wasnt started).
Problem here is that `smooth_brush_toggle_on` (called via stroke->
test_start) changes the brush, this was ignored in following code (and
in case of the `Stabilize Stroke` is called only after the code that was
checking if this was ON).
So to resolve, get the brush again after `stroke->test_start` has run
(and also move the check `Stabilize Stroke` a bit (to place that
actually fits much better since similar things like line visualization
are handled there as well)
Pull Request: https://projects.blender.org/blender/blender/pulls/127412
`rna_Frames_frame_new` did not `DEG_id_tag_update` when it's
done so this lead users to believe that the new frame is
duplicated. The frame is correctly created, just display needs
refreshing.
IGC 1.0.17384, ocloc 24.31.30508, which:
- add support for Battlemage and Lunar Lake GPUs
- recover from recent performance regression on Linux
- allow to drop older work-around
(9d5164d472) and need for a patched
version on Windows
- ocloc now needs "dg2,mtl" naming for fat binaries.
opencl-clang patches don't get applied anymore by igc build scripts
when llvm is not a git repository, hence I could also drop we can drop
current patch disabling patching.
I've only slightly pushed min-driver-version updates after carefull
testing, instead of jumping to the same version as ocloc as we use to.
Pull Request: https://projects.blender.org/blender/blender/pulls/127251
Improvements to how text colors and shadows are determined for the
3D View overlays. Starting with the theme's text highlight color, it
is lightened or darkened if necessary to give contrast with the
background. Then a black or white shadow is used depending on text
color.
Pull Request: https://projects.blender.org/blender/blender/pulls/127389
When playback framerate is too slow, then text was red and visible.
Otherwise it was black text on normally black background though, which
is not very useful.
Pull Request: https://projects.blender.org/blender/blender/pulls/127394
Introduced with 347ec1acd7.
Various brushes use the `calc_area_normal_and_center_node_grids`
function to determine their displacment. Prior to this commit, the
calculation of this plane normal was not iterating over the `IndexMask`
correctly.
This manifested on the default cube at multires levels greater than 6,
because at that point the number of PBVH nodes was greater than 1,
leading to the wrong nodes being used to calculate this effect.
Pull Request: https://projects.blender.org/blender/blender/pulls/127474
PR ##127465 accidentally removed a check for is_floating, which means
that you get a drag cursor near the top of dropdown menus. This fixes
that dumb mistake.
Pull Request: https://projects.blender.org/blender/blender/pulls/127472
Remove old version guards relating to USD versions prior to 2111 which
released in Nov 2021.
The oldest supported version of Blender, 3.3 LTS which goes end of life
this month, was already using USD version 2203 released in March 2022.
Additionally, these guards give the illusion that compiling with old
versions prior to 2111 might work, which is neither guaranteed nor
tested for at this point.
Pull Request: https://projects.blender.org/blender/blender/pulls/127380
Some popup menus have content at the very top, within the title bounds.
In this case don't show the drag cursor if there is a button under the
mouse location.
Pull Request: https://projects.blender.org/blender/blender/pulls/127465