[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19258] branches/bmesh/blender/source/ blender/bmesh/intern/bmesh_polygon.c: numerical error fix for tesselator

Joseph Eagar joeedh at gmail.com
Wed Mar 11 07:04:18 CET 2009


Revision: 19258
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19258
Author:   joeedh
Date:     2009-03-11 07:04:17 +0100 (Wed, 11 Mar 2009)

Log Message:
-----------
numerical error fix for tesselator

Modified Paths:
--------------
    branches/bmesh/blender/source/blender/bmesh/intern/bmesh_polygon.c

Modified: branches/bmesh/blender/source/blender/bmesh/intern/bmesh_polygon.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/intern/bmesh_polygon.c	2009-03-11 05:46:48 UTC (rev 19257)
+++ branches/bmesh/blender/source/blender/bmesh/intern/bmesh_polygon.c	2009-03-11 06:04:17 UTC (rev 19258)
@@ -504,13 +504,13 @@
 	
 	///bmesh_update_face_normal(bm, f, projectverts);
 
+	/*this fixes some weird numerical error*/
+	projectverts[0][0] += 0.0001f;
+	projectverts[0][1] += 0.0001f;
+	projectverts[0][2] += 0.0001f;
+
 	compute_poly_normal(f->no, projectverts, f->len);
 	poly_rotate_plane(f->no, projectverts, i);
-	/*check if we rotated the wrong way*/
-	compute_poly_normal(no, projectverts, f->len);
-	if (no[2] < 0) {
-		poly_rotate_plane(no, projectverts, i);
-	}
 
 	nvert = f->len;
 
@@ -518,7 +518,7 @@
 	for (i=0; i<nvert; i++) {
 		projectverts[i][2] = 0.0f;
 	}
-	
+
 	done = 0;
 	while(!done && f->len > 3){
 		done = 1;





More information about the Bf-blender-cvs mailing list