[Bf-blender-cvs] [20283bfa0b] master: Fix wrong loop normals left after face splitting

Sergey Sharybin noreply at git.blender.org
Wed Feb 15 15:05:20 CET 2017


Commit: 20283bfa0b1e38f6c33271b97f22488103243b50
Author: Sergey Sharybin
Date:   Wed Feb 15 14:58:49 2017 +0100
Branches: master
https://developer.blender.org/rB20283bfa0b1e38f6c33271b97f22488103243b50

Fix wrong loop normals left after face splitting

Let's keep all data in a consistent state, so we don't have any
issues later on.

This solves rendering artifacts mentioned in the previous commit.

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

M	source/blender/blenkernel/intern/mesh.c

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

diff --git a/source/blender/blenkernel/intern/mesh.c b/source/blender/blenkernel/intern/mesh.c
index 75e2a13f06..42b6a841da 100644
--- a/source/blender/blenkernel/intern/mesh.c
+++ b/source/blender/blenkernel/intern/mesh.c
@@ -2300,6 +2300,11 @@ void BKE_mesh_split_faces(Mesh *mesh)
 			loop_prev = loop;
 		}
 	}
+	/* Adding new vertices will change loop normals.
+	 * Since we ensured there is CD_NORMAL layer for loops we must bring it
+	 * it back to a consistent state.
+	 */
+	BKE_mesh_calc_normals_split(mesh);
 #ifdef VALIDATE_MESH
 	BKE_mesh_validate(mesh, true, true);
 #endif




More information about the Bf-blender-cvs mailing list