diff options
author | Jeroen Bakker <jbakker> | 2020-05-14 15:22:52 +0300 |
---|---|---|
committer | Jeroen Bakker <j.bakker@atmind.nl> | 2020-05-14 15:30:02 +0300 |
commit | 7965c735f12b885803933363e9b1ca8e85067af6 (patch) | |
tree | 1f8cb09b138fd63511112775ce7f8b86303328a9 /source | |
parent | eb23b39b7f7f4e0531b9acff3769ec3fa4e236ee (diff) |
Fix T73286: Projection Painting Dense Mesh Bleed
When projection painting a dense mesh a face can be marked
PROJ_FACE_DEGENERATE when it is too small. Degenerative faces are
handled differently and as documented can create incorrect results.
Not sure what these incorrect results are and if there could be a better
solution for handling these results.
This fix would only mark a face degenerative when all the verts are the
same.
Reviewed By: Campbell Barton
Differential Revision: https://developer.blender.org/D7662
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/sculpt_paint/paint_image_proj.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/editors/sculpt_paint/paint_image_proj.c b/source/blender/editors/sculpt_paint/paint_image_proj.c index 6af9ec01fc3..af84cb2d15b 100644 --- a/source/blender/editors/sculpt_paint/paint_image_proj.c +++ b/source/blender/editors/sculpt_paint/paint_image_proj.c @@ -4022,7 +4022,7 @@ static void project_paint_bleed_add_face_user(const ProjPaintState *ps, * Ideally this would be checked later, not to add to the cost of computing non-degenerate * triangles, but that would allow other triangles to still find adjacent seams on degenerate * triangles, potentially causing incorrect results. */ - if (area_tri_v2(UNPACK3(lt_tri_uv)) > FLT_EPSILON) { + if (area_tri_v2(UNPACK3(lt_tri_uv)) > 0.0f) { const int lt_vtri[3] = {PS_LOOPTRI_AS_VERT_INDEX_3(ps, lt)}; void *tri_index_p = POINTER_FROM_INT(tri_index); |