Commit: 13a4147c17f82681c29fcc25cce86aff1702f2d1 Author: Alexander Gavrilov Date: Tue Sep 27 12:21:44 2016 +0300 Branches: master https://developer.blender.org/rB13a4147c17f82681c29fcc25cce86aff1702f2d1
Dynamic Paint: Don't store duplicate adjacency links. Duplicates can happen at UV seams in case of resolution mismatch or other complications. It's better not to store them in case it confuses some math later on. Reviewers: mont29 Differential Revision: https://developer.blender.org/D2261 =================================================================== M source/blender/blenkernel/intern/dynamicpaint.c =================================================================== diff --git a/source/blender/blenkernel/intern/dynamicpaint.c b/source/blender/blenkernel/intern/dynamicpaint.c index 2a01a7a..c739904 100644 --- a/source/blender/blenkernel/intern/dynamicpaint.c +++ b/source/blender/blenkernel/intern/dynamicpaint.c @@ -2673,6 +2673,7 @@ int dynamicPaint_createUVSurface(Scene *scene, DynamicPaintSurface *surface, flo const int index = tx + w * ty; if (tempPoints[index].tri_index != -1) { + int start_pos = n_pos; ed->n_index[final_index[index]] = n_pos; ed->n_num[final_index[index]] = 0; @@ -2681,10 +2682,20 @@ int dynamicPaint_createUVSurface(Scene *scene, DynamicPaintSurface *surface, flo const int n_target = dynamic_paint_find_neighbour_pixel( &data, vert_to_looptri_map, w, h, tx, ty, i); - if (n_target >= 0) { - ed->n_target[n_pos] = final_index[n_target]; - ed->n_num[final_index[index]]++; - n_pos++; + if (n_target >= 0 && n_target != index) { + bool duplicate = false; + for (int j = start_pos; j < n_pos; j++) { + if (ed->n_target[j] == final_index[n_target]) { + duplicate = true; + break; + } + } + + if (!duplicate) { + ed->n_target[n_pos] = final_index[n_target]; + ed->n_num[final_index[index]]++; + n_pos++; + } } else if (n_target == ON_MESH_EDGE || n_target == OUT_OF_TEXTURE) { ed->flags[final_index[index]] |= ADJ_ON_MESH_EDGE; _______________________________________________ Bf-blender-cvs mailing list [email protected] https://lists.blender.org/mailman/listinfo/bf-blender-cvs
