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;

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to