[Bf-blender-cvs] [3d3b6d94e6e] master: Subdiv: Use better default UV interpolation

Sergey Sharybin noreply at git.blender.org
Tue Jan 26 16:23:13 CET 2021


Commit: 3d3b6d94e6e646828bd03c5656673a5d00a806aa
Author: Sergey Sharybin
Date:   Wed Jan 13 16:58:36 2021 +0100
Branches: master
https://developer.blender.org/rB3d3b6d94e6e646828bd03c5656673a5d00a806aa

Subdiv: Use better default UV interpolation

The default one is now UVs are smoothed, boundaries are kept sharp.

After some time of experimentation seems this is better default from
interoperability point of view.

This fixes distortion reported in T83470.

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

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

M	source/blender/blenkernel/intern/multires.c
M	source/blender/makesdna/DNA_modifier_defaults.h
M	source/blender/render/intern/multires_bake.c

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

diff --git a/source/blender/blenkernel/intern/multires.c b/source/blender/blenkernel/intern/multires.c
index 441da8b134a..45ac20ef154 100644
--- a/source/blender/blenkernel/intern/multires.c
+++ b/source/blender/blenkernel/intern/multires.c
@@ -781,7 +781,7 @@ static DerivedMesh *subsurf_dm_create_local(Scene *scene,
   smd.levels = smd.renderLevels = lvl;
   smd.quality = 3;
   if (!is_plain_uv) {
-    smd.uv_smooth = SUBSURF_UV_SMOOTH_PRESERVE_CORNERS;
+    smd.uv_smooth = SUBSURF_UV_SMOOTH_PRESERVE_BOUNDARIES;
   }
   else {
     smd.uv_smooth = SUBSURF_UV_SMOOTH_NONE;
diff --git a/source/blender/makesdna/DNA_modifier_defaults.h b/source/blender/makesdna/DNA_modifier_defaults.h
index 8601dcf76ac..860a9affb3e 100644
--- a/source/blender/makesdna/DNA_modifier_defaults.h
+++ b/source/blender/makesdna/DNA_modifier_defaults.h
@@ -440,7 +440,7 @@
     .renderlvl = 0, \
     .totlvl = 0, \
     .flags = eMultiresModifierFlag_UseCrease | eMultiresModifierFlag_ControlEdges, \
-    .uv_smooth = SUBSURF_UV_SMOOTH_PRESERVE_CORNERS, \
+    .uv_smooth = SUBSURF_UV_SMOOTH_PRESERVE_BOUNDARIES, \
     .quality = 4, \
     .boundary_smooth = SUBSURF_BOUNDARY_SMOOTH_ALL, \
   }
@@ -622,7 +622,7 @@
     .levels = 1, \
     .renderLevels = 2, \
     .flags = eSubsurfModifierFlag_UseCrease | eSubsurfModifierFlag_ControlEdges, \
-    .uv_smooth = SUBSURF_UV_SMOOTH_PRESERVE_CORNERS, \
+    .uv_smooth = SUBSURF_UV_SMOOTH_PRESERVE_BOUNDARIES, \
     .quality = 3, \
     .boundary_smooth = SUBSURF_BOUNDARY_SMOOTH_ALL, \
     .emCache = NULL, \
diff --git a/source/blender/render/intern/multires_bake.c b/source/blender/render/intern/multires_bake.c
index a4f68419c67..1859886f563 100644
--- a/source/blender/render/intern/multires_bake.c
+++ b/source/blender/render/intern/multires_bake.c
@@ -768,7 +768,7 @@ static void *init_heights_data(MultiresBakeRender *bkr, Image *ima)
 
     if (ss_lvl > 0) {
       smd.levels = smd.renderLevels = ss_lvl;
-      smd.uv_smooth = SUBSURF_UV_SMOOTH_PRESERVE_CORNERS;
+      smd.uv_smooth = SUBSURF_UV_SMOOTH_PRESERVE_BOUNDARIES;
       smd.quality = 3;
 
       height_data->ssdm = subsurf_make_derived_from_derived(



More information about the Bf-blender-cvs mailing list