Age | Commit message (Collapse) | Author |
|
When you create a new Brush, the user count is `2` (caller and fake user). The problem is when you duplicate a Brush, the user count grows to `3` and this is not correct, because is a new brush.
Reviewed By: mont29
Differential Revision: https://developer.blender.org/D6310
|
|
|
|
The Random Per Island attribute is a random float associated with each
connected component (island) of the mesh. It is particularly useful
when artists want to add variations to meshes composed of separate
units. Like tree leaves created using particle systems, wood planks
created using array modifiers, or abstract splines created using AN.
Reviewed By: Sergey Sharybin, Jacques Lucke
Differential Revision: https://developer.blender.org/D6154
|
|
an fcurve
|
|
|
|
|
|
Improve laggy performance while moving File Browser by not refreshing fsMenu lists in its init.
Differential Revision: https://developer.blender.org/D6112
Reviewed by Bastien Montagne
|
|
This was added years ago to prepare for code-signing the executable
but was never used, buildbots use a different mechanism now to sign
so no need to keep this around.
|
|
Old code worked pure "by luck". I fixed an error in rB5bcb0c993503 that
made this "luck" go away. Special handling is needed for the preview
layout.
|
|
When the brush is duplicated, the grease pencil settings doesn't need to be recreated.
|
|
This diff allows to delete directories in the file browser. The commit https://developer.blender.org/rB8825250f5a85c0c16e74ed144dd2b4a7d752042f did not include this feature.
Reviewed By: Severin
Differential Revision: https://developer.blender.org/D6083
|
|
This function exposes the already-existing static `object_moves_in_time()`
function, and optionally recursively checks the parent object for
animatedness as well.
I also added checking `AnimData::overrides` to
`BKE_animdata_id_is_animated()`. This ensures that, apart from the optional
recursion to the parent object, the function has the same functionality.
|
|
No functional changes.
|
|
Instead of always writing the transform on every frame, it's now checked
whether the object is animated at all. This could be made stricter to
reduce false positives, for example by checking FCurves and drivers to
see whether translation/rotation/scale is animated. However, this
approach is already better than the `return true` we had before.
This commit adds the BKE_animdata_id_is_animated(id) function, which
returns true if the ID datablock has non-empty animation data. This is
determined by checking the the active action's fcurves, the drivers, and
NLA tracks.
|
|
The function isn't used anywhere, and it's deceptively returning false
negatives. For example, `modifier_dependsOnTime()` will return `false`
for hook modifiers, even when the hook target is animated. Querying the
depsgraph for dependency on the time source would be a better approach.
|
|
The `modifiers_getVirtualModifierList()` function previously took a non-
const `Object *ob` parameter, preventing it from being called from more
restrictive functions. Since the function doesn't modify the passed
object, it could easily be made const.
No functional changes.
|
|
The old comment was outdated and incorrect.
No functional changes.
|
|
Unfortunately, it didn't turn out to be as great as I've hoped to it
will.
The issue is: the label eats too much space, making selector buttons
and image name to be barely readable. Initial idea of making the panel
somewhat wider didn't work either: due to the sizing policy of label
it takes a lot of panel width to make image name readable.
|
|
|
|
|
|
Use closest quaternion instead of only checking w sign flipping,
which didn't catch all cases.
T
|
|
Was happening when there was an image assigned to the track.
Another pair programming session with Clement.
|
|
Pair programming with Clement.
|
|
Differential Revision: https://developer.blender.org/D6170
|
|
Cmd-Alt-Q is a system shortcut on macOS, use Ctrl-Alt-Q.
|
|
This code allows to push a set of different operations all based on
iterations over a range of indices, and then process them all at once
over multiple threads.
This commit also adds unit tests for both old un-pooled, and new pooled
task_parallel_range family of functions, as well as some basic
performances tests.
This is mainly interesting for relatively low amount of individual
tasks, as expected.
E.g. performance tests on a 32 threads machine, for a set of 10
different tasks, shows following improvements when using pooled version
instead of ten sequential calls to BLI_task_parallel_range():
| Num Items | Sequential | Pooled | Speed-up |
| --------- | ---------- | ------- | -------- |
| 10K | 365 us | 138 us | 2.5 x |
| 100K | 877 us | 530 us | 1.66 x |
| 1000K | 5521 us | 4625 us | 1.25 x |
Differential Revision: https://developer.blender.org/D6189
Note: Compared to previous commit yesterday, this reworks atomic handling in
parallel iter code, and fixes a dummy double-free bug.
Now we should only use the two critical values for synchronization from
atomic calls results, which is the proper way to do things.
Reading a value after an atomic operation does not guarantee you will
get the latest value in all cases (especially on Windows release builds
it seems).
|
|
By error, the original datablock was used while rendering. Actually, only while the user is drawing the original data must be used because when we tested, the time the system uses to copy the datablock created a very bad "lag" feeling while drawing. Maybe the lag was half second only, but it ruined the pencil feeling.
I talked some time ago with Sergey about that and we decided use this approach.
Now, only the original datablock is used while the user is "moving" the pen, but not in any other situation.
Thanks @sergey for help me with this bug and sorry for thinking it was a depsgraph issue.
|
|
The new Mapping node was missing versioning code for drivers.
This patch refactors existing code and add versioning for drivers.
Reviewed By: Sergey Sharybin, Bastien Montagne
Differential Revision: https://developer.blender.org/D6302
|
|
`CTX_data_active_object(C)` returns `NULL` when there is no active object,
and this was not tested for in the code.
|
|
Exposed by test file in T71718
|
|
It was possible that it would exceed when signing all the DLLs if the machine
is busy with some background tasks or when internet is slow.
|
|
Don't modify the Python reference when copying custom-data.
|
|
|
|
importing matrix animations
|
|
|
|
This reverts commit f9028a3be1f77c01edca44a68894e2ba9d9cfb14.
This is giving weird heisenbug crash on only Windows release builds...
Reverting until we understand to issue.
|
|
This reverts commit e0cada951982093453a91b80342ce20c4f421fc8.
|
|
Adds a `text` parameter to `bpy.types.uiLayout.template_ID()` which
causes a label to be added, as usual. Adding the label also makes the
template respect the `bpy.types.uiLayout.use_property_split` option.
Also fixes wrong layout being used in the template-ID, although I think
that didn't cause issues in practice.
Sergey requested this for usage in the Movie Clip Editor.
|
|
Calling "OptiXDevice::load_kernels" multiple times would call "optixPipelineDestroy" on a pipeline
pointer that may have already been deleted previously (since the PIP_SHADER_EVAL pipeline is only
created conditionally).
This change also avoids a CUDA kernel reload every time this is called. The CUDA kernels are
precompiled and don't change, so there is no need to reload them every time.
|
|
Adds a theme setting to specify color of widget text insertion cursor (caret).
Differential Revision: https://developer.blender.org/D6024
Reviewed by Campbell Barton
|
|
|
|
Thanks Bastien for code review!
|
|
|
|
Note: not sure what 'type' to give for that new
`BMO_OP_SLOT_SUBTYPE_PTR_STRUCT`, name sounds generic so used
`bpy_struct` for now... :/
|
|
This code allows to push a set of different operations all based on
iterations over a range of indices, and then process them all at once
over multiple threads.
This commit also adds unit tests for both old un-pooled, and new pooled
`task_parallel_range` family of functions, as well as some basic
performances tests.
This is mainly interesting for relatively low amount of individual
tasks, as expected.
E.g. performance tests on a 32 threads machine, for a set of 10
different tasks, shows following improvements when using pooled version
instead of ten sequential calls to `BLI_task_parallel_range()`:
| Num Items | Sequential | Pooled | Speed-up |
| --------- | ---------- | ------- | -------- |
| 10K | 365 us | 138 us | 2.5 x |
| 100K | 877 us | 530 us | 1.66 x |
| 1000K | 5521 us | 4625 us | 1.25 x |
Differential Revision: https://developer.blender.org/D6189
|
|
When scrollbars were redesigned, the size of UI-List scrollbars wasn't
updated. Those were still huge.
This makes their size consistent with other scrollbars and frankly,
non-rediculous.
|
|
Missed in recent BKE_remesh renaming.
|
|
Resolve linking issues, warnings.
|
|
|
|
|