The select option in the operator was never working because we were
trying to select an object considered unselectable (since it was hidden).
Reviewers: brecht
Differential Revision: https://developer.blender.org/D4527
This introduces a new iterator, FOREACH_COLLECTION, that unlike the
FOREACH_SCENE_COLLECTION it iterates over all the Blender file
collections, including the scene master collection, as well the database
ones (bmain).
Reviewers: brecht
Similar to T60623 / rB2894e75121d7.
Issue (when parenting with 'Follow Curve') is that the curves
CU_FOLLOW flag is set on the original, but not the
evaluated curve (yet), leading to misbehaviour in 'ob_parcurve()'.
Setting this on both now.
Reviewers: sergey
Maniphest Tasks: T62601
Differential Revision: https://developer.blender.org/D4524
Issue introduced on d227c58e3e.
This was affecting WorkSpaces as well as background scene and probably
other places. We use the operator poll to decide whether to show it.
Reviewers: brecht, mont29
Differential Revision: https://developer.blender.org/D4488
Prepare for exposing tool registration to the Python API.
- Generated tools can use their own prefix so naming collisions
won't happen between hard coded & generated tools.
- Add-on authors can use the add-on name as a prefix.
Currently the names match, renaming will happen next.
Enable depth picking by default.
This adds new 'gpu_flag' since it's not so relevant to add GPU drawing
options into uiflag & uiflag2.
This resets the recently added smooth edge flag.
Invert the texture of the stroke if the random UV is activated. Before, this parameter only affected to dot mode, but not to line strokes.
The texture is inverted vertically.
This fix saves the camera matrices in order to not call
BKE_animsys_evaluate_animdata during each draw loop. This function tags
the view as dirty even if the camera does not move.
This effectivly, avoids the constant reset of TAA.
The main problem was that the character `J` has "negative kerning".
It was cut off because it started outside of the clipping rectangle.
Reviewers: brecht
Differential Revision: https://developer.blender.org/D4513
Need to ensure all dopesheet are properly tagged for update.
The tricky part here is that due to the animation we need to keep
movie clips covered by copy-on-write, but the interface uses an
original clip to draw dopesheet.
Use same idea of an active dependency graph as is done in other
similar cases.
Stupid mistake in previous 'fixing' commit, I put the call computing
extra required source cddata masks into the callback used to get
destination (current object) cddata masks...
In this case, the generic vertex attribute is {0,0,0,1}. So we look for
this case.
This fixes black text objects with a normal map applied. Also this could
help porting sculpt mode drawing to Eevee without supporting normal
mapping.
Note that will just fix black meshes due to T61870 but objects will not
show their normal map. So it's not a fix for this issue.
Left and right aligned regions get hidden when there is not enough space,
and the main center region was empty. Now remove the left region and put
its contents in the center region, so that it always remains.
Draw manager was checking for particles being enabled in viewport, but
actual evaluation was happening for render. Now the check in draw manager
properly follows current evaluation mode.
Additionally, de-duplicated some check, by moving everything needed to
a single place.
Annoying part is the const-cast, that could be cleaned up later by
modifying some underlying functions.
The core was hooking up relation to a wrong operation, in an
attempt to cause proper full update of the pose (since there
is no intermediate state stored anywhere). This is now done
as a part of flush_handle_component_node(), so can properly
route more granular relation.
This fixes the crash which was caused by an access of partially
evaluated data by solving the fake cycle. However, if there
is a real cycle involved the code will still not survive, but
this is more generic issue (which also includes modifiers
for meshes and curves).
Reviewers: brecht
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D4509
Before the cursor was only visible after the cursor moves over side areas, but not in viewport area.
Now, as soon the drawing is completed, the cursor is reset in order to get again the icon in the viewport.
The option can be changed in the Preferences
in `Interface -> Editors -> Factor Display Type`.
Reviewers: campbellbarton, brecht, billreynish
Differential Revision: https://developer.blender.org/D4462
Use dedicated flag to tag animation just for copy-on-write synchronization,
which makes it so copies of the original data blocks gets in sync with the
original ID. This will not flush the animation update to all objects which
depend on that animation.
If such flush is required, use ID_RECALC_ANIMATION.
Reviewers: brecht
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D4508