Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
Operator relys on 3DView and was failing from Topbar and Properties
Editor. Now tries to find the biggest 3DView and uses that.
Reviewers: brecht
Maniphest Tasks: T60133
Differential Revision: https://developer.blender.org/D4215
|
|
|
|
This helps to generate cleaner topology and define sharp features for dynamic
topology. Best used on relatively low-poly meshes, it is not needed as much
for high detail areas and has a performance impact.
Differential Revision: https://developer.blender.org/D4189
|
|
It seems more predictable, and makes more sense for future multi-object modes.
|
|
|
|
This reverts commit 06a6b5dba459d4153d85c5894e3c3e72abeb34e3.
The error is that geometry was hidden in the first place,
this should only apply when selecting verts/faces.
|
|
Also includes some minor refactoring: use guard clauses instead of nested conditionals.
Reviewers: brecht
Differential Revision: https://developer.blender.org/D4238
|
|
Ensure ED_editors_init doesn't create any undo steps
before the initial memfile undo is written.
|
|
|
|
|
|
Without this clang-format may wrap them onto a single line.
|
|
Prevents clang-format wrapping text before comments.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"angular mult factor" is a completely unintelligible description
for a function that raises a unit quaternion to the scalar power.
|
|
With multi object editing it creates the charts twice, which broke some
logic in the unwrapper.
|
|
The problem was the brush was not initializated because some code was missing (marked as ToDo)
|
|
Part of T59335.
|
|
|
|
Helps separate variable names from descriptive text.
Was already used in some parts of the code,
double space and dashes were used elsewhere.
|
|
There were at least three copies of those:
- OB_RECALC* family of flags, which are rudiment of an old
dependency graph system.
- PSYS_RECALC* which were used by old dependency graph system
as a separate set since the graph itself did not handle
particle systems.
- DEG_TAG_* which was used to tag IDs.
Now there is a single set, which defines what can be tagged
and queried for an update. It also has some aggregate flags
to make queries simpler.
Lets once and for all solve the madness of those flags, stick
to a single set, which will not overlap with anything or require
any extra conversion.
Technically, shouldn't be measurable user difference, but some
of the agregate flags for few dependency graph components did
change.
Fixes T58632: Particle don't update rotation settings
|
|
|
|
|
|
|
|
|
|
Match logic in previous commit.
|
|
|
|
|
|
Fix the old code that propagates selection changes to the
evaluated mesh directly without rebuilding, and avoid tagging
DEG_TAG_COPY_ON_WRITE if it succeeds.
|
|
Texture paint code was retrieving the evaluated mesh from the
original object, which isn't supposed to happen, so the cached
mesh isn't properly cleaned up by Edit Mode toggle.
|
|
Note that am not sure that is actually needed, since switching to that
mode does not actually use any eval data, it's only needed during init
of first stroke... But in doubt, that won't hurt to have it here anyway.
|
|
|
|
|
|
For most brushes, texture painting uses a special mask accumulation
table in order to ensure that the amount of added color only increases
when the same pixel is touched multiple times by the stroke.
Unfortunately, only the mask texture was added to the mask before
this check, while normal, stencil, texture alpha masks were applied
after this check. This means that the check can pass if e.g. the
pressure is increased, but the final mask value is actually lower.
One might think that the mask values are fixed per pixel, but with
symmetry that isn't true. The result is a nasty stripe artifact due
to the discrete cutoff nature of the accumulation test.
In order to fix this, apply all masks before accumulation.
|
|
modes.
Sculpt (and paint) modes rely on valid evaluated data at their initialization.
Added code to ensure that in `ED_object_mode_toggle()`, when relevant
toggle operator requires it (looks like sculpt/paint should be the only
ones affected, although particle edit may be too...).
|
|
|
|
Accessing ob->bb directly is not a good idea anyway.
Still, would like to know why/where this bbox is freed, since it is
allocated at least once by depsgraph eval, as part of
`BKE_object_handle_data_update()` function...
|
|
Use 3D cursor from the scene (was previously used for local-view).
|
|
If backface culling is off, the user obviously wants to paint on
back faces, so the normal angle cutoff designed to prevent painting
at glancing angles shouldn't do the culling as a side effect.
|
|
|
|
Mode locking made it nearly impossible to enter wpaint + object mode.
Now enter pose mode when entering wpaint mode
when the pose object is selected.
|