[Bf-blender-cvs] [dcf50cf0466] master: Fix T100132: Disable winding when calculating islands for uv sculpt tools

Chris Blackbourn noreply at git.blender.org
Thu Aug 4 01:18:09 CEST 2022


Commit: dcf50cf046682bf6279dcc37497b89a3ddd965a1
Author: Chris Blackbourn
Date:   Thu Aug 4 11:11:41 2022 +1200
Branches: master
https://developer.blender.org/rBdcf50cf046682bf6279dcc37497b89a3ddd965a1

Fix T100132: Disable winding when calculating islands for uv sculpt tools

Winding was originally added to island detection in 5197aa04c6bd.
However the sculpt tools can flip faces, potentially creating orphaned
islands if winding is enabled.

Differential Revision: https://developer.blender.org/D15600

===================================================================

M	source/blender/editors/sculpt_paint/sculpt_uv.c

===================================================================

diff --git a/source/blender/editors/sculpt_paint/sculpt_uv.c b/source/blender/editors/sculpt_paint/sculpt_uv.c
index dfa85e8e56d..52b790ba1ea 100644
--- a/source/blender/editors/sculpt_paint/sculpt_uv.c
+++ b/source/blender/editors/sculpt_paint/sculpt_uv.c
@@ -492,13 +492,12 @@ static UvSculptData *uv_sculpt_stroke_init(bContext *C, wmOperator *op, const wm
 
     data->uvsculpt = &ts->uvsculpt->paint;
 
-    if (do_island_optimization) {
-      /* We will need island information */
-      data->elementMap = BM_uv_element_map_create(bm, scene, false, true, true);
-    }
-    else {
-      data->elementMap = BM_uv_element_map_create(bm, scene, false, true, false);
-    }
+    /* Winding was added to island detection in 5197aa04c6bd
+     * However the sculpt tools can flip faces, potentially creating orphaned islands.
+     * See T100132 */
+    bool use_winding = false;
+    data->elementMap = BM_uv_element_map_create(
+        bm, scene, false, use_winding, do_island_optimization);
 
     if (!data->elementMap) {
       uv_sculpt_stroke_exit(C, op);



More information about the Bf-blender-cvs mailing list