Logic to handle shepkeys datablocks in helper in 'make local' code that
checks which ID should be copied, and which can be directly made local,
was wrong.
'Individual Origins'
Note gpencil doesnt do anything fancy like meshes in
editmesh_islands_info_calc(), but it looks like there is actually no
harm in allowing proportional editing with individual origins & gpencil
editmode.
Maniphest Tasks: T74657
Differential Revision: https://developer.blender.org/D7351
The radius component is only one float. This resulted in only a third of
intended points to draw and could lead to glitches.
Pointcloud drawing will still change a lot in the future, this is just
to be able to work on some simple tools.
Differential Revision: https://developer.blender.org/D7390
Some Wintab drivers report a zero length queue, this causes an unplanned never ending loop.
Differential Revision: https://developer.blender.org/D7392
Reviewed by: Ray Molenkamp
One fewer coordinate needs to be calculated when extrusion is zero to
avoid corrupting the end of the memory chunk.
Differential Revision: https://developer.blender.org/D7368
Currently in fractal_noise functions, each subsequent octave doubles the
frequency and reduces the amplitude by half. This patch introduces Roughness
input to Noise and Wave nodes. This multiplier determines how quickly the
amplitudes of the subsequent octaves decrease.
Value of 0.5 will be the default, generating identical noise we had before.
Values above 0.5 will increase influence of each octave resulting in more
"rough" noise, most interesting pattern changes happen there. Values below
0.5 will result in more "smooth" noise.
Differential Revision: https://developer.blender.org/D7065
Excluding a collection also changes the exclude setting on all child collections
so that it is possible to selectively enable some children without the parent
being enabled.
This change makes it so that if you unexclude the parent, the exclude setting
of children are restored again instead of being permanently lost.
Original patch by Szymon with modifications by Brecht.
Differential Revision: https://developer.blender.org/D7016
Tasks: move priority from task to task pool {rBf7c18df4f599fe39ffc914e645e504fcdbee8636}
Tasks: split task.c into task_pool.cc and task_iterator.c {rB4ada1d267749931ca934a74b14a82479bcaa92e0}
Differential Revision: https://developer.blender.org/D7385
When drawing the viewport to the screen the draw calls were not batched.
This resulted in measurable slowdown on Windows Intel 10th gen
platforms.
This patch would cache the last draw calls per viewport. Our API does
support partial redrawing of the viewport, but that isn't used anywhere.
This patch does not include stereoscopy rendering. This still uses the
imm approach and would still be slow on certain hardware.
Reviewed By: Clément Foucault
Differential Revision: https://developer.blender.org/D7357
rB10162d68e385 introduced a difference in computing the matrix, as well
as a better way to compute the inverse matrix. This commit reverts the
former, while keeping the latter and some other improvements.
There was a bug in the `connect_loose_objects()` function, which caused
some objects to be exported twice (once for real, and once
transform-only). This is now resolved.
The test failure in T75491 only showed up in debug builds because
`BLI_assert()` is a no-op in release builds. This is now replaced by a
proper GTests call to `ADD_FAILURE()`, ensuring that the test fails
regardless of build mode.
Allows to open newer files in older Blender after new distortion model
has been added.
It will behave as if this is a polynomial model with all 0 coefficients
which are then being refined and assigned explicitly after solving the
motion.
The loop of datablocks was using the scene datablock (3D View) only, but all others datablocks were ignored.
Now the loop consider any annotation datablock.
When updating the active button, the search data wasn't updated, so it
kept using the old pointers. A check in `ui_rna_collection_search_cb()`
relied on this incorrect behavior so I had to fix that too. Note that
the previous commit was also needed for the second fix to work.
Caused by c46dcdf887.
If the `uiButStore` data was freed after the buttons/blocks were updated
from previous instances (see `UI_block_update_from_old()`), e.g. by
delaying that to the "afterfuncs" (`ui_apply_but_funcs_after()`), the
data would get lost. As result, the button pointers that the API is
supposed to keep valid would point to freed memory.
This wasn't an issue so far since the API didn't happen to be used this
way. That changes with the next commit.
Rather than using the last state of the tablet, we now query the history of
pointer events so strokes can follow the pen even if Blender does not handle
events at the same rate.
Differential Revision: https://developer.blender.org/D6675