Age | Commit message (Collapse) | Author |
|
Caused by rBedb3b7a323a1.
Using evaluate_fcurve_only_curve actually causes quite a bit of slowdown
[6x] compared to bezier forward differencing [which was used prior to
rBedb3b7a323a1]. But full fcurve evaluation is desired with Dynamic
Interpolation Effects [Back/Elastic] since their min/max will not be
captured with forward differencing.
So now gain back speed [using bezier forward differencing] and only do
the full fcurve evaluation for dynamic interpolation effects.
Maniphest Tasks: T74927
Differential Revision: https://developer.blender.org/D7196
|
|
Issues exposed by 'bl_run_operators.py' utility.
|
|
Also pass some args as 'const'.
|
|
|
|
Differential Revision: https://developer.blender.org/D7167
|
|
Mpving utils from idcode to idtype proved to be somewhat painful for
some reasons, but now all looks good.
Had to add a fake/empty shell for the special snowflake too,
`ID_LINK_PLACEHOLDER/INDEX_ID_NULL`...
|
|
|
|
Both the MS headers and blender headers define the HKEY
which gives all kind of inclusion order issues.
This diff renames all *KEY constants to EVT_*KEY to resolve
this conflict.
Reviewed By: brecht , dfelinto
Differential Revision: http://developer.blender.org/D7164
|
|
This was missing in previous commit.
|
|
Only the volume object is exposed in the user interface. It is based on OpenVDB
internally. Drawing and rendering code will follow in another commit.
https://wiki.blender.org/wiki/Source/Objects/Volume
https://wiki.blender.org/wiki/Reference/Release_Notes/2.83/Volumes
Hair and PointCloud object types are hidden behind a WITH_NEW_OBJECT_TYPES
build option. These are unfinished, and included only to make it easier to
cooperate on development in the future and avoid tricky merges.
https://wiki.blender.org/wiki/Source/Objects/New_Object_Types
Ref T73201, T68981
Differential Revision: https://developer.blender.org/D6945
|
|
|
|
`ANIM_animdata_update()` did not sort grease pencil frames. A
pre-existing comment stated this wouldn't be necessary as
`posttrans_gpd_clean()` already does this. However, this is only
applicable when the change is performed via the transform system. The
mirror operator doesn't call `posttrans_gpd_clean()`, invalidating the
assumption in the comment.
I moved the sorting code into `BKE_gpencil_layer_frames_sort()`, which
is now called from both `ANIM_animdata_update()` and
`posttrans_gpd_clean()`.
|
|
This patch fixes various problems of alignment and element backdrops for
the animation channels drawing, mainly in the Graph editor but also for
grease pencil and mask layers in the Dope Sheet.
Reviewed By: billreynish, sybren
Differential Revision: https://developer.blender.org/D5204
|
|
|
|
The behaviour of GP layers is the same as annotation layers: they show
in the dope sheet regardless of whether they have frames or not. This is
easily resolved by adding some extra filtering.
|
|
Part of the function was following an "if-ok: do-this" pattern, and then
mid-function switched to a "if-bad: skip" pattern. The function now just
uses the latter.
No functional changes.
|
|
options
Update Dopesheet header to include missing buttons, remove Scene Active only buttton and also removed duplicated search box.
The removed options come from old 2.7x version and they are not required now.
Reviewed By: mendio, pepeland
Differential Revision: https://developer.blender.org/D7107
|
|
|
|
EasingType was implemented rBdaccaa713b6e for the GraphEditor (but never
made it to the Dopesheet). If you can select Easing Mode in the
DopeSheet, then you should also be able to select the associated Easing
Type.
Thanks @lichtwerk for the initial implementation.
Maniphest Tasks: T65076
Differential Revision: https://developer.blender.org/D6094
|
|
This commit is a full refactor of the grease pencil modules including Draw Engine, Modifiers, VFX, depsgraph update, improvements in operators and conversion of Sculpt and Weight paint tools to real brushes.
Also, a huge code cleanup has been done at all levels.
Thanks to @fclem for his work and yo @pepeland and @mendio for the testing and help in the development.
Differential Revision: https://developer.blender.org/D6293
|
|
The old convention was easy to confuse with ScrArea.
Part of https://developer.blender.org/T74432.
This is mostly a batch rename with some manual fixing. Only single word
variable names are changed, no prefixed/suffixed names.
Brecht van Lommel and Campbell Barton both gave me a green light for
this convention change.
Also ran clan clang format on affected files.
|
|
There are two ways in which adding/deleting keyframes can fail, but only
one of those was handled. The other would be shown as a successful
add/delete of -2 keyframes.
|
|
The `ANIM_apply_keyingset()` returns a value that indicates the number of
changed channels (if nonnegative) or an error state (negative). In the
places where the return value was actually used, this value was stored in
a badly named variable.
|
|
- Use 'int' for counters instead of short.
- Use 'bool' instead of a counter when only a change is being detected.
- Use typed enum for keying set flags.
- Include in comments when a negate error code may be returned.
|
|
There is no need for an insertion flag in a delete function.
|
|
- Split 'verify_fcurve' into two functions:
ED_action_fcurve_ensure which adds the f-curve if needed.
ED_action_fcurve_find which returns NULL when not found.
Callers of ED_action_fcurve_find had unused 'group'
argument which has been removed.
- Rename verify_adt_action to ED_id_action_ensure
It had an argument to add data which was always true,
remove this instead of splitting in into a separate function.
|
|
No functional changes.
|
|
|
|
|
|
The dope sheet, NLA editor, and other similar animation editors were
ignoring the temporariy visibility flag of collections. As a result, an
editor that's supposed to show animation data of visible objects only was
still showing such data of objects that were hidden by hiding their
collection.
This was observed while fixing T71743.
|
|
This patch adds the ability to set colors and alpha of dashed line of
Time Markers. That way themes can avoid contrast issues and communicate
selection better. See screenshots in D6877.
Bumps subversion.
Reviewed By: William Reynish, Julian Eisel
Differential Revision: https://developer.blender.org/D6877
|
|
Avoid accessing inline since it's often used multiple times.
In some cases it was already defined.
|
|
|
|
|
|
This was especially bad with "Only Selected Curve Keyframes",
effectively making f-curves un-editable on each insertion.
|
|
The channel color squares are no longer positioned under the visibility
icon, since contrast is poor. Instead they are thinner and drawn on the
left side, before the visibility icon. If the curve is hidden, the color
gets less opaque.
Differential Revision: https://developer.blender.org/D5882
|
|
Note that `BKE_library.h`/`library.c` were renamed to
`BKE_lib_id.h`/`lib_id.c` to avoid having a too generic name here.
Part of T72604.
|
|
|
|
|
|
Old Name New Name
========= =========
init_def_material BKE_materials_init
BKE_material_gpencil_default_free BKE_materials_exit
test_object_materials BKE_object_materials_test
test_all_objects_materials BKE_objects_materials_test_all
give_matarar BKE_object_material_array
give_totcolp BKE_object_material_num
give_current_material_p BKE_object_material_get_p
give_current_material BKE_object_material_get
assign_material BKE_object_material_assign
assign_matarar BKE_object_material_array_assign
give_matarar_id BKE_id_material_array
give_totcolp_id BKE_id_material_num
assign_material_id BKE_id_material_assign
clear_matcopybuf BKE_material_copybuf_clear
free_matcopybuf BKE_material_copybuf_free
copy_matcopybuf BKE_material_copybuf_copy
paste_matcopybuf BKE_material_copybuf_paste
BKE_material_init_gpencil_settings BKE_gpencil_material_attr_init
BKE_material_add_gpencil BKE_gpencil_material_add
BKE_material_gpencil_get BKE_gpencil_material
BKE_material_gpencil_default_get BKE_gpencil_material_default
BKE_material_gpencil_settings_get BKE_gpencil_material_settings
|
|
|
|
Prepare to call this from gizmos.
|
|
This should only be used to change and recalculate region sizes in a DPI
independent way. To get the size with DPI applied, ARegion.winx/y should
be used instead.
Added note on this in comment.
|
|
In 2.79 when moving a marker with `G` while holding `ctrl` the marker
would snap to one-second movements. This was (probably accidentally)
removed when the Timeline Editor was removed in rB5374865523faf253.
Reviewers: mano-wii
Differential Revision: https://developer.blender.org/D6527
|
|
|
|
This operator was pending of fix.
|
|
T71495 describes two problems with animation of textures not showing up in
the dope sheet:
1. textures connected to force fields
2. textures of brushes
This patch resolves the first case.
An alternative would be to switch to iteration of dependencies using
`BKE_library_foreach_ID_link()`. This is a good idea to do at some point,
but adding these few lines was considerably easier & safer to do.
|
|
The entire particle system was skipped when the particle system itself did
not have any animation data. This caused the animation data on the texture
to be skipped.
|
|
|
|
|