[Bf-blender-cvs] [27649a5] blender-v2.75-release: Freestyle: Fix for wrong assertion failure upon inverted face normals.

Tamito Kajiyama noreply at git.blender.org
Thu Jun 18 17:37:44 CEST 2015


Commit: 27649a5d86c64d511626dafe7654b10d3ceb6c67
Author: Tamito Kajiyama
Date:   Thu Jun 18 08:24:03 2015 +0900
Branches: blender-v2.75-release
https://developer.blender.org/rB27649a5d86c64d511626dafe7654b10d3ceb6c67

Freestyle: Fix for wrong assertion failure upon inverted face normals.

The assertion code was not taking quad faces into account.

Problem report by Folkert de Vries (flokkievids) through personal
communications, thanks!

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

M	source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp

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

diff --git a/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp b/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp
index bcb38bc..7a61b73 100644
--- a/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp
+++ b/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp
@@ -536,8 +536,12 @@ void BlenderFileLoader::insertShapeNode(ObjectInstanceRen *obi, int id)
 		else {
 			RE_vlakren_get_normal(_re, obi, vlr, facenormal);
 #ifndef NDEBUG
+			/* test if normals are inverted in rendering [T39669] */
 			float tnor[3];
-			normal_tri_v3(tnor, v3, v2, v1);  /* normals are inverted in rendering */
+			if (vlr->v4)
+				normal_quad_v3(tnor, v4, v3, v2, v1);
+			else
+				normal_tri_v3(tnor, v3, v2, v1);
 			BLI_assert(dot_v3v3(tnor, facenormal) > 0.0f);
 #endif
 			copy_v3_v3(n1, facenormal);




More information about the Bf-blender-cvs mailing list