Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntony Riakiotakis <kalast@gmail.com>2015-05-07 00:29:59 +0300
committerAntony Riakiotakis <kalast@gmail.com>2015-05-07 00:30:15 +0300
commit236360c838a1029b5b45207b335d4c2df5e101ef (patch)
tree41810579d598b714784999ac8cbe0a71eff6d90d
parente73f1035d7e544f83cadceb5a44acfa1e9fb1921 (diff)
Change fix for T44530 which caused a "regression".
Looks like the previous commit here is really correct and fixes cases of distortion that were in mirror-subsurf combination since blender 2.5. This may cause some changed files in which case we will be adding an option, but it is expected this will only happen with low res models, and hand painted textures, and the better distortion here compensates for that enough to consider not adding a compatibility option yet. Leaving the facemap winding argument as is just in case we do consider to add the option.
-rw-r--r--source/blender/blenkernel/intern/subsurf_ccg.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/subsurf_ccg.c b/source/blender/blenkernel/intern/subsurf_ccg.c
index 2b05a6c8fc5..68ef1565bd4 100644
--- a/source/blender/blenkernel/intern/subsurf_ccg.c
+++ b/source/blender/blenkernel/intern/subsurf_ccg.c
@@ -300,7 +300,11 @@ static int ss_sync_from_uv(CCGSubSurf *ss, CCGSubSurf *origss, DerivedMesh *dm,
float uv[3] = {0.0f, 0.0f, 0.0f}; /* only first 2 values are written into */
limit[0] = limit[1] = STD_UV_CONNECT_LIMIT;
- vmap = BKE_mesh_uv_vert_map_create(mpoly, mloop, mloopuv, totface, totvert, 0, limit, false);
+ /* previous behaviour here is without accounting for winding, however this causes stretching in
+ * UV map in really simple cases with mirror + subsurf, see second part of T44530. Also, initially
+ * intention is to treat merged vertices from mirror modifier as seams, see code below with ME_VERT_MERGED
+ * This fixes a very old regression (2.49 was correct here) */
+ vmap = BKE_mesh_uv_vert_map_create(mpoly, mloop, mloopuv, totface, totvert, 0, limit, true);
if (!vmap)
return 0;