[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