[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