[Bf-blender-cvs] [5300345] master: Freestyle: Fix for wrong assertion failure upon inverted face normals.

Tamito Kajiyama noreply at git.blender.org
Thu Jun 18 01:42:49 CEST 2015


Commit: 530034511c8e5c5fbe8e2563112b1afdfd24d6bd
Author: Tamito Kajiyama
Date:   Thu Jun 18 08:24:03 2015 +0900
Branches: master
https://developer.blender.org/rB530034511c8e5c5fbe8e2563112b1afdfd24d6bd

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