Commit: 9c8bf7302d1bdac6aa57a6e672ce669e792e6837
Author: Thomas Dinges
Date:   Wed Feb 12 03:27:18 2014 +0100
https://developer.blender.org/rB9c8bf7302d1bdac6aa57a6e672ce669e792e6837

Cycles: Avoid unnecessary dot products in Mesh/Hair export code.

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

M       intern/cycles/blender/blender_curves.cpp
M       intern/cycles/blender/blender_mesh.cpp

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

diff --git a/intern/cycles/blender/blender_curves.cpp 
b/intern/cycles/blender/blender_curves.cpp
index 49728c5..92c51b0 100644
--- a/intern/cycles/blender/blender_curves.cpp
+++ b/intern/cycles/blender/blender_curves.cpp
@@ -437,7 +437,7 @@ void ExportCurveTriangleGeometry(Mesh *mesh, 
ParticleCurveData *CData, int resol
                                continue;
 
                        float3 firstxbasis = 
cross(make_float3(1.0f,0.0f,0.0f),CData->curvekey_co[CData->curve_firstkey[curve]+1]
 - CData->curvekey_co[CData->curve_firstkey[curve]]);
-                       if(len_squared(firstxbasis)!= 0.0f)
+                       if(!is_zero(firstxbasis))
                                firstxbasis = normalize(firstxbasis);
                        else
                                firstxbasis = 
normalize(cross(make_float3(0.0f,1.0f,0.0f),CData->curvekey_co[CData->curve_firstkey[curve]+1]
 - CData->curvekey_co[CData->curve_firstkey[curve]]));
diff --git a/intern/cycles/blender/blender_mesh.cpp 
b/intern/cycles/blender/blender_mesh.cpp
index c761c00..61c6ef6 100644
--- a/intern/cycles/blender/blender_mesh.cpp
+++ b/intern/cycles/blender/blender_mesh.cpp
@@ -249,8 +249,8 @@ static void create_mesh(Scene *scene, Mesh *mesh, BL::Mesh 
b_mesh, const vector<
                bool smooth = f->use_smooth();
 
                if(n == 4) {
-                       if(len_squared(cross(mesh->verts[vi[1]] - 
mesh->verts[vi[0]], mesh->verts[vi[2]] - mesh->verts[vi[0]])) == 0.0f ||
-                               len_squared(cross(mesh->verts[vi[2]] - 
mesh->verts[vi[0]], mesh->verts[vi[3]] - mesh->verts[vi[0]])) == 0.0f) {
+                       if(is_zero(cross(mesh->verts[vi[1]] - 
mesh->verts[vi[0]], mesh->verts[vi[2]] - mesh->verts[vi[0]])) ||
+                               is_zero(cross(mesh->verts[vi[2]] - 
mesh->verts[vi[0]], mesh->verts[vi[3]] - mesh->verts[vi[0]]))) {
                                mesh->set_triangle(ti++, vi[0], vi[1], vi[3], 
shader, smooth);
                                mesh->set_triangle(ti++, vi[2], vi[3], vi[1], 
shader, smooth);
                        }

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to