Age | Commit message (Collapse) | Author |
|
When adding texts or various simple effects I often copy-paste strips
to reuse properties from a template such as font or position. I assume
this is common workflow. Issue with this workflow is, that active strip
is not changed after pasting, so when adjusting property, it is original
strip that is being modified.
This is not issue when duplicating strips - selection state is
transfered to duplicate strips, such that duplicate of active strip is
set to be active and duplicate of selected strip is set to selected.
Implement same selection transfering behavior in paste operator, that
exists in duplicate operator.
Since strip can be deleted after copying, it is not possible to rely
on sequencer state. This is true even when pasting strips to different
scene. Therefore active strip name must be stored in clipboard.
Reviewed By: sergey, Severin
Differential Revision: https://developer.blender.org/D11781
|
|
Caused by fba9cd019f21, then fixed by 0e4245bc28e6, but without
subversion bump, so some files were still broken after fix.
Repeat fix again, but this time also bump subversion.
Reviewed By: mont29
Differential Revision: https://developer.blender.org/D11864
|
|
|
|
Use the same partial-update functions used by transform when
editing vertex locations with the number buttons.
This avoids unnecessary calculations for normals and tessellation.
This gives around 1.44x overall speedup on high poly meshes.
|
|
Support for begin/update/end callbacks allowing state to be cached
and reused while dragging a number button or slider.
This is done using `UI_block_interaction_set` to set callbacks.
- Dragging multiple buttons at once is supported,
passing multiple unique events into the update function.
- Update is only called once even when multiple buttons are edited.
- The update callback can detect the difference between click & drag
actions so situations to support skipping cache creation and
freeing for situations where it's not beneficial.
Reviewed by: Severin, HooglyBoogly
Ref D11861
|
|
In most cases the undo system was loading undo steps twice.
This was needed since some undo systems (sculpt, paint, text)
require stepping out of the current undo step.
Use a flag to limit this to the undo systems that need it.
This improves performance for other undo systems.
This gives around 1.96x speedup in edit-mesh for high-poly objects.
Reviewed by: mont29
Ref D11893
|
|
- Tag the object data instead of the object when decoding
(this avoids duplicating mesh object-data on each undo-step).
- Calculate face normals as part of multi-threaded tessellation.
This gives ~11% speedup with 1.5x million polygons.
|
|
|
|
Replace with brief note in warning.
|
|
Rename:
- EDBM_mesh_free -> EDBM_mesh_free_data
BKE_editmesh_free -> BKE_editmesh_free_data
Since this doesn't free the edit-mesh pointer.
- BKE_editmesh_free_derivedmesh -> BKE_editmesh_free_derived_caches
Since this no longer uses derived-mesh, match naming for the related
object function BKE_object_free_derived_caches.
Also remove `do_tessellate` argument from BKE_editmesh_create,
since the caller can explicitly do this if it's needed,
with the advantage that it can be combined with normal calculation
which is faster on high-poly meshes.
|
|
When enabled, print the time taken between running actions.
|
|
Docs: https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros
Differential Revision: https://developer.blender.org/D11460
|
|
All platforms support the proper format string and it's already used in
various other places.
Differential Revision: https://developer.blender.org/D11460
|
|
Regression in d25747ee751096de2e417a7da1316bf5bf81c25a
|
|
|
|
During a mesh transformation in edit mode (Move, Rotate...), only part of
the batch cache needs to be updated.
This commit allows only update only the drawn batches seen in
`BKE_object_data_eval_batch_cache_deform_tag` if the new
`ID_RECALC_GEOMETRY_DEFORM` flag is used.
This new flag is used in the transforms operation for edit-mesh and
results in 1.6x overall speedup in heavy subdiv cube.
Differential Revision: https://developer.blender.org/D11599
|
|
This might be an artistic choice, but round end caps are supposed to be
a "half circle centered at the end point of the line" as documented
here: https://docs.blender.org/manual/en/dev/render/freestyle/
parameter_editor/line_style/strokes.html#caps
They are a shashed half circle instead.
This patch makes this pure half circles [and also fixes the case where
thickness of beginning was used for both beginning and end of the
stroke]
Maniphest Tasks: T88015
Differential Revision: https://developer.blender.org/D11340
|
|
This was accidentally committed by rBecbf838feefc.
|
|
This could lead to colors that are supposed to be exactly white to be slightly
darker.
|
|
This commit adds a curve primitive node for creating squares,
rectangles, trapezoids, kites, and parallelograms. It also includes
a mode where the four points are just vector inputs.
Differential Revision: https://developer.blender.org/D11665
|
|
In this bug report it resulted in rendering animations stopping too early,
but this affected more areas.
After the previous cleanup commit, it becomes clear that frame and ctime
values were mixed up.
|
|
Confusingly, BKE_scene_frame_get did not match the frame number as expected by
BKE_scene_frame_set. Instead it return the value after time remapping, which
is commonly named "ctime".
* Rename BKE_scene_frame_get to BKE_scene_ctime_get
* Add a new BKE_scene_frame_get that matches BKE_scene_frame_set
* Use int/float depending if fractional frame is expected
|
|
|
|
|
|
Sorry, missed this in 53cf8e83b37d.
|
|
Under some circumstances (e.g. when rendering) the geometry
nodes logger is not used. This was missing a simple null check.
|
|
It always bothered me that we'd do the `BLI_assert(... || !"message")` trick to
print a message alongside the assert, while it should be trivial to have a way
to pass an extra string as additional argument.
This adds `BLI_assert_msg()` with a second argument for a message. E.g.:
```
BLI_assert_msg(
params->rename_id == NULL,
"File rename handling should immediately clear rename_id when done, because otherwise it will keep taking precedence over renamefile.");
```
On failure this will print like this:
```
0 Blender 0x00000001140647a3 BLI_system_backtrace + 291
[...]
13 Blender 0x00000001092647a6 main + 3814
14 libdyld.dylib 0x00007fff203d8f5d start + 1
BLI_assert failed: source/blender/editors/space_file/file_ops.c:2352, file_directory_new_exec(), at 'params->rename_id == ((void*)0)'
File rename handling should immediately clear rename_id when done, because otherwise it will keep taking precedence over renamefile.
```
Reviewed by: Sybren Stüvel, Jacques Lucke, Sergey Sharybin, Campbell Barton
Differential Revision: https://developer.blender.org/D11827
|
|
The 'collection' property is flagged PROP_ID_REFCOUNT, so the
modifiers foreachIDLink functions should walk with IDWALK_CB_USER
(instead of IDWALK_CB_NOP).
Otherwise the modifier wont be included as a user for the collection
(e.g. on file read); removing the collection from the modifier will
decrement usercount though (which in worst case scenario makes the
collection orphan and will result in data loss)
Maniphest Tasks: T89765
Differential Revision: https://developer.blender.org/D11877
|
|
|
|
When editing vertices with number buttons, tag the mesh, not the object.
This prevents the evaluated mesh being re-created for the object
and is correct as the mesh is being edited not the object.
Note that all tags for updating object geometry should be checked
to see if this change should be applied there too.
From a simple test on a high-poly mesh this gives around 1.3x
overall speedup.
|
|
The name was mistakenly written as `use_cached_result`. Fixed.
|
|
After cache implementation line art apply will not show strokes properly, now fixed.
# Conflicts:
# source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c
|
|
The Pattern and Search display options in the Clip Editor display settings
are independent and should not be grayed out since those options
remain relevant even with path display turned off.
Alternative solution were propoesed in D11630 and D11715
but each of those patches had downsides.
This solution is the simplest and does not break muscle memory.
|
|
VS2019 is the preferred version to use these
days, look for it before looking for 2017
and 2022.
|
|
Channel packed images should not have their RGB affected by alpha.
rendering in Cycles and Eevee was fine already, but displaying these was
not right in the Image and Node editors.
Not 100% sure what to do for the "Color and Alpha" mode, but I guess
this should stay like it was before (applying the alpha).
"Color", "R", "G", and "B" modes were changed to not have color be
affected by alpha though.
ref. T89034
Maniphest Tasks: T89034
Differential Revision: https://developer.blender.org/D11871
|
|
Differential Revision: https://developer.blender.org/D11872
|
|
For some reason, the Windows compiler didn't like the
static function being used in the parallel_reduece.
|
|
|
|
Fly navigation has always had this option. They is particularly useful
when users use "Trackball" as their orbit method.
For walk navigation this works as a one off option. Not as a toggle like
for fly navigation.
Differential Revision: https://developer.blender.org/D11863
|
|
Correctly reset `prev` and `next` pointers of action group FCurves when
separating them into distinct `ListBase`s per `bActionGroup`.
These `NULL` pointers are necessary to temporarily demarcate the start &
end of the `bActionGroup::channels` list. Having them still point to
other FCurves caused ordering issues when moving curves towards the
start/end of a group.
This commit corrects the above issue and adds versioning code to rectify
any ordering issues that may have been caused. For this purpose the
`BKE_action_groups_reconstruct()` function is rewritten to avoid relying
on the `bAction::curves` list order or `prev` link integrity.
Differential Revision: https://developer.blender.org/D11811
|
|
Simple upgrade of OpenXR to 1.0.17. A version bump was enough, no
Blender code had to change.
Reviewed By: LazyDodo, mont29
Differential Revision: https://developer.blender.org/D11848
|
|
It was possible that render buffers and scene kernel data will be out
of sync because reset and scene update happens in different locks.
This is similar issue we've fixed in the Cycles X branch, so backported
relevant changes from there.
This change removes what seems to be unused feature kernel.
Differential Revision: https://developer.blender.org/D11828
|
|
This change makes the behavior consistent between shortcut and
option from space clip's header.
The only caveat is that the "Lock to Selection" is removed from the
Display popover. This is because it is rather hard to make operator
to render same as regular checkbox. However, shouldn't be a problem
because the setting in popover was redundant.
Differential Revision: https://developer.blender.org/D10423
|
|
WALK_MODAL_TOGGLE > WALK_MODAL_GRAVITY_TOGGLE
|
|
The bug was always around and was introduced with the original code
e2a7168e9680f (2009).
|
|
The node group interface panels were still implemented in C.
Now they ported over to python for easier maintenance.
Differential Revision: https://developer.blender.org/D11834
|
|
In addition to _object_ animation, now _object data_ (mesh, curve, ...)
animation can now be made single user as well.
This came up in T89369 and while it is possible to do this via the
Outliner [where all actions have to be selected individually], this
seems to be more convenient to be done from the 3DView.
note: usercount of the action is checked now, if it single-user already,
no copy takes place (same thing could/should be done for
single_object_action_users as well).
note2: obdata is made single user as well (otherwise duplicated actions
will be assigned to the same shared obdata - which does not result in
unique animadata which is what we are after here)
ref. T89369
Maniphest Tasks: T89369
Differential Revision: https://developer.blender.org/D11683
|
|
|
|
|
|
Use the term `ensure` as existing data is used when present.
|