[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57071] trunk/blender/source/blender/ blenkernel/intern/multires.c: Fix #35513: Multires modifier normal corruption on apply base
Sergey Sharybin
sergey.vfx at gmail.com
Tue May 28 10:40:48 CEST 2013
Revision: 57071
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57071
Author: nazgul
Date: 2013-05-28 08:40:47 +0000 (Tue, 28 May 2013)
Log Message:
-----------
Fix #35513: Multires modifier normal corruption on apply base
Seems it was simply missing mesh normals update in multiresModifier_base_apply.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/multires.c
Modified: trunk/blender/source/blender/blenkernel/intern/multires.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/multires.c 2013-05-28 08:10:01 UTC (rev 57070)
+++ trunk/blender/source/blender/blenkernel/intern/multires.c 2013-05-28 08:40:47 UTC (rev 57071)
@@ -857,6 +857,12 @@
MEM_freeN(origco);
cddm->release(cddm);
+ /* Vertices were moved around, need to update normals after all the vertices are updated
+ * Probably this is possible to do in the loop above, but this is rather tricky because
+ * we don't know all needed vertices' coordinates there yet.
+ */
+ BKE_mesh_calc_normals(me->mvert, me->totvert, me->mloop, me->mpoly, me->totloop, me->totpoly, NULL);
+
/* subdivide the mesh to highest level without displacements */
cddm = CDDM_from_mesh(me, NULL);
DM_set_only_copy(cddm, CD_MASK_BAREMESH);
More information about the Bf-blender-cvs
mailing list