[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [35375] trunk/blender/source/blender/ modifiers/intern/MOD_solidify.c: fix [#26368] Solidify breaks EdgeCrease

Campbell Barton ideasman42 at gmail.com
Sun Mar 6 23:10:34 CET 2011


Revision: 35375
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35375
Author:   campbellbarton
Date:     2011-03-06 22:10:33 +0000 (Sun, 06 Mar 2011)
Log Message:
-----------
fix [#26368] Solidify breaks EdgeCrease

Make edge crease additive rather then overwriting existing values.
There are other problems pointed out in this report but they are unrelated to solidify.

Modified Paths:
--------------
    trunk/blender/source/blender/modifiers/intern/MOD_solidify.c

Modified: trunk/blender/source/blender/modifiers/intern/MOD_solidify.c
===================================================================
--- trunk/blender/source/blender/modifiers/intern/MOD_solidify.c	2011-03-06 17:03:25 UTC (rev 35374)
+++ trunk/blender/source/blender/modifiers/intern/MOD_solidify.c	2011-03-06 22:10:33 UTC (rev 35375)
@@ -593,11 +593,18 @@
 				mf->mat_nr += mat_ofs_rim;
 				CLAMP(mf->mat_nr, 0, mat_nr_max);
 			}
-			if(crease_outer)
-				ed->crease= crease_outer;
+			if(crease_outer) {
+				/* crease += crease_outer; without wrapping */
+				unsigned char *cr= (unsigned char *)&(ed->crease);
+				int tcr= *cr + crease_outer;
+				*cr= tcr > 255 ? 255 : tcr;
+			}
 
 			if(crease_inner) {
-				medge[numEdges + eidx].crease= crease_inner;
+				/* crease += crease_inner; without wrapping */
+				unsigned char *cr= (unsigned char *)&(medge[numEdges + eidx].crease);
+				int tcr= *cr + crease_inner;
+				*cr= tcr > 255 ? 255 : tcr;
 			}
 			
 #ifdef SOLIDIFY_SIDE_NORMALS




More information about the Bf-blender-cvs mailing list