Age | Commit message (Collapse) | Author |
|
|
|
|
|
Checking button unit type was length for proportional
multi-button adjustment wasn't working.
|
|
Without this flag the PBVH won't update taking the modified vertices
into account.
Reviewed By: brecht
Maniphest Tasks: T75778
Differential Revision: https://developer.blender.org/D7453
|
|
In the vertex iterator vd.index should always be used. I probably
introduced this in a refactor.
Reviewed By: jbakker
Maniphest Tasks: T75766
Differential Revision: https://developer.blender.org/D7446
|
|
In the main mesh filter loop vertex that do not have the active face set
are skipped, so in the following surface smooth displacement loop these
vertices were deformed using an uninitialized laplacian_disp value.
Now the main loop initializes the laplacian_disp for all vertices and
the deformation based on face sets is skipped in the second loop.
Reviewed By: jbakker
Maniphest Tasks: T75662
Differential Revision: https://developer.blender.org/D7443
|
|
Adds syncing to a few operations that change selection, to avoid some
annoyances (like drag and drop of hierarchy to a different collection
only linking the parent to the collection).
Note that there's further refinement work for selection syncing in
D5572, but is awaiting some code design decisions. Meanwhile such quite
annoying issues should be fixed.
Addresses T75610.
|
|
Was incorrectly triggering animation for panels which would be free'd
before the animation ended.
|
|
When use the subdivide modifier the number of points was not correct and can produce segment faults.
Also, the points were selected by default and this was wrong.
|
|
Only applys to obdata feature is supposed to be locked in that case, not
the whole modifier.
|
|
Note that given how experimental is working currently, I had to rename
and inverse the effect of the experimental undo flag, which will now
instead activate legacy code when set.
|
|
|
|
Holding Ctrl while dragging the light point gizmo would use
uninitialized stack memory if the normal had not been
initialized by a surface.
Now holding Ctrl can be used to drag,
even when there is no surface to orient to.
|
|
|
|
The dopesheet needs to have a frame to display the channel, so an empty frame is created in the current frame.
See T66505 for details of why an empty channel cannot be displayed.
|
|
LIB_TAG_EXTRAUSER_SET flag
For example in the Image Editor, an assert would be triggered after
unlinking an image [with setting users to zero] and then setting the
image for the Image Editor again.
Whenever we set an Image for Image Editor, the Image ID is flagged
LIB_TAG_EXTRAUSER_SET, when we unlink [with setting users to zero] this
flag was not cleared.
quote @mont29: "a proper fix would be to move this to modern code, and
actually delete the ID..." but that is for later.
Maniphest Tasks: T75675
Differential Revision: https://developer.blender.org/D7452
|
|
This editor's code was a bit schizophrenic, some parts considering its
nodetree usages as real refcounted ones, others, as shallow 'user one'
ones...
Editors should not be real ID users anyway, unless there are *very* good
reasons for it, so swich it to fully 'shallow' usage now.
|
|
Caused by rBf0221ff6674f.
Only draw the Image buffer itself in display space.
Differential Revision: https://developer.blender.org/D7449
|
|
|
|
Caused by rB2bf4c74130ff.
For undo, the ImageUser's scene should be NULL (see D7022 for
discussion).
PaintTiles were already doing it beforehand in ED_image_paint_tile_push,
but Image ops [scale/invert] are calling
ED_image_undo_push_begin_with_image directly.
Now actually set the UndoImageHandle iuser.scene to NULL (rather than
asserting)
ref T75675
Maniphest Tasks: T75675
Differential Revision: https://developer.blender.org/D7435
|
|
Needed to use a temporary pchan iterator to make sure that we keep track
of the selected bone.
|
|
Fixed a coding mistake when adding temp IK chains with Auto-IK.
We need to use the data from the new temporary constraint.
|
|
After the previous commit by Harley Acheson, scaling can be handled at
runtime so we don't need to have two splash screen image variants
anymore.
Also removes the `splash_scale.sh` script used to create the down-scaled
variant.
Always nice to get rid of some binary files from the repository :)
|
|
- Menu drawing function used first instance instead of last.
- Menu hash function checked for the character without first
checking UI_BUT_HAS_SEP_CHAR was enabled.
|
|
|
|
Fix from 8a5a306a8313 caused tweaking to fail in the clip editor,
as it wasn't using same convention of other selection operators that
returned the pass-through flag to allow tweaking too.
|
|
Caused edit preferences not to open.
|
|
Use a regular context menu as a fallback for the outliner.
If there are no specific actions for the item under the cursor,
fall through to opening a regular menu.
This lets menu search find the context menu items which were previously
unavailable as menu search wont run operators.
|
|
|
|
This error only occurs when the end points are part of
a sequence of selected points.
|
|
The Layer brush was in Blender before 2.81, when the sculpt API was
introduced. It had a huge amount of bugs and glitches which made it
almost unusable for anything but the most trivial cases. Also, it needed
some hacks in the code just to support the persistent base.
The brush was completely rewritten using the Sculpt API. It fulfills the
same use case as the old one, but it has:
- All previous artifacts fixed
- Simpler code
- Persistent base now works with multires thanks to the sculpt API
- Small cursor widget to preview the layer height
- More controllable and smoother strength and deformation
- More correct masking support
- More predictable invert support. When using persistent base, the brush invert mode resets to layer height 0, instead of jumping from +1 to -1. The brush can still be inverted in the brush direction property.
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D7147
|
|
This mesh filter sharpens and smooths the mesh based on its curvature,
resulting in pinching hard edges and polishing flat surfaces. It fixes
most of the artifacts of the voxel remesher and those produced when
sculpting hard surfaces and stylized models with creasing and flattening
brushes.
It needs and accumulate_displacement step before each filter iteration which
can't be multithreaded in an easy way (it would need something to sync the
threads when modifying the data of neighbors in a different node), but this
does not affect performance in a significant way.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D7335
|
|
When using the shift-smooth mode, sculpt_update_cache_invariants is
changing the brush datablock of the paint session if it finds a brush
named "Smooth" (which is a huge hack the brush management project should
try to solve). This is done after the PaintStroke data in the modal
operator is created, which holds a reference to the active brush in the
paint session that was active when the operator started. Because of
this, the StrokeCache was getting the correct smooth brush values but
the paint modal operator was applying the wrong ones from the previous
brush. This was causing the smooth brush behaves unpredictably depending
on the current active brush.
This patch updates the brush in PaintStroke on each modal callback, so
it always gets the values from the current active brush in the Paint
Session.
The way brush switching works and a way to make it more flexible needs
to be discussed in the future as part of the brush management project.
The default smooth brush parameters and curves will probably need to
be updated after this change, as previously they were set using an
incorrect behavior.
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D7354
|
|
All tools should now use the API function to get the active face set
directly from the face under the cursor.
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D7362
|
|
The operator was disabled when it was added because Face Sets were not
supported in Multires.
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D7312
|
|
This solution involves adding a uniform to each fragment shader that is
used by gizmo drawing and use the framebuffer state to set this uniform
accordingly.
This solution can also be carried to external shaders (addons).
A single line of code would then be enough to fix the issue.
The only trickery here is the dummy define:
`#define srgb_to_framebuffer_space(a)`
This is in order to avoid breaking other DRW shaders that use the same
fragment shader code but do not need the tranformation.
Related to T74139
Reviewed By: brecht, campbellbarton
Differential Revision: https://developer.blender.org/D7261
|
|
Geometry that was just added to sculpt mode has the SCULPT_FACE_SET_NONE
assigned, so it was hidden by default. By doing this when entering
sculpt mode a new visible face set is created for it, making it easier
to isolate it again if you want to do further tweaking with the sculpt
tools.
Also, this also fixes the issue that may happen when changing the mesh
visibility in edit mode. Now visibility changes done outside sculpt mode
are stored in the face sets when entering sculpt mode, so mesh
visibility should stay the same.
Reviewed By: jbakker
Maniphest Tasks: T75104
Differential Revision: https://developer.blender.org/D7249
|
|
|
|
|
|
This reverts commit 9af0cdcd9349b6c0fd1cc0e57a58254e21e1bd3b.
Removed this feature because of confusion
caused by incorrect description.
|
|
The problem was that in direct_link_id_restore_recalc, recalc_undo_accumulated
should contain the changes from the target state to the current state. However
it had already been cleared at that point, to start accumulating changes up to
the next undo push.
Delaying the clear of this flag seems like the obvious solution, but it's hard
to find the right place for that (if there is one). Instead this splits up the
flag into two separate variables.
Reviewed By: mont29
Differential Revision: https://developer.blender.org/D7402
|
|
- Show dimmed text for the menu entries leading up to the menu item.
- Show icons between the menu text and menu item.
- Use unicode right pointing triangle instead of arrow.
|
|
Internally these values are ints.
|
|
|
|
The idea is to push both base mesh geometry and PBVH coordinates
so it is possible to undo everything without loosing data which was
not flushed from sculpt session to base mesh.
It is possible do memory optimization to avoid push custom data
layers which are not touched by operator, but before doing that
better to ensure this is a correct and working approach.
Differential Revision: https://developer.blender.org/D7381
|
|
|
|
|
|
|
|
The selection was not checking all modes.
|
|
The drawing of annotations in 2D was using a very old code created in 2.6x versions. Now it's using a standard shader as it's done while drawing.
|