diff options
Diffstat (limited to 'source/blender/blenkernel/intern/multires_reshape.c')
-rw-r--r-- | source/blender/blenkernel/intern/multires_reshape.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/multires_reshape.c b/source/blender/blenkernel/intern/multires_reshape.c index b15f4be148e..96f5e9b6b01 100644 --- a/source/blender/blenkernel/intern/multires_reshape.c +++ b/source/blender/blenkernel/intern/multires_reshape.c @@ -314,10 +314,16 @@ static void multires_reshape_vertex_from_final_data( if (grid_paint_mask != NULL) { grid_paint_mask->data[index] = final_mask; } - /* Copy boundary to the next/previous grids */ - copy_boundary_displacement( - ctx, coarse_poly, face_corner, grid_x, grid_y, - displacement_grid, grid_paint_mask); + /* Copy boundary to the next/previous grids. + * + * NOTE: Only do this for quads faces, since other ones will call reshape + * for every boundary vertex, ensuring proper continuity across boundaries. + */ + if (coarse_poly->totloop == 4) { + copy_boundary_displacement( + ctx, coarse_poly, face_corner, grid_x, grid_y, + displacement_grid, grid_paint_mask); + } } /* ============================================================================= |