[Bf-blender-cvs] [5723aa8c02] master: Cycles: Fix wrong pointiness caused by precision issues

Sergey Sharybin noreply at git.blender.org
Wed Feb 15 12:44:44 CET 2017


Commit: 5723aa8c0254f553aa8057006589af434317652f
Author: Sergey Sharybin
Date:   Wed Feb 15 12:39:06 2017 +0100
Branches: master
https://developer.blender.org/rB5723aa8c0254f553aa8057006589af434317652f

Cycles: Fix wrong pointiness caused by precision issues

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

M	intern/cycles/blender/blender_mesh.cpp

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

diff --git a/intern/cycles/blender/blender_mesh.cpp b/intern/cycles/blender/blender_mesh.cpp
index e269be6179..5032c92530 100644
--- a/intern/cycles/blender/blender_mesh.cpp
+++ b/intern/cycles/blender/blender_mesh.cpp
@@ -589,12 +589,12 @@ static void attr_create_pointiness(Scene *scene,
 			const float3 &other_vert_co = mesh->verts[other_vert_index];
 			/* We are too far away now, we wouldn't have duplicate. */
 			if ((other_vert_co.x + other_vert_co.y + other_vert_co.z) -
-			    (vert_co.x + vert_co.y + vert_co.z) > 0.0f)
+			    (vert_co.x + vert_co.y + vert_co.z) > 3 * FLT_EPSILON)
 			{
 				break;
 			}
 			/* Found duplicate. */
-			if(other_vert_co == vert_co) {
+			if(len_squared(other_vert_co - vert_co) < FLT_EPSILON) {
 				found = true;
 				vert_orig_index[vert_index] = other_vert_index;
 				break;




More information about the Bf-blender-cvs mailing list