[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56802] trunk/blender/intern/cycles: Cycles :

Thomas Dinges blender at dingto.org
Tue May 14 20:31:55 CEST 2013


Revision: 56802
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56802
Author:   dingto
Date:     2013-05-14 18:31:55 +0000 (Tue, 14 May 2013)
Log Message:
-----------
Cycles :
* Use is_zero(a) rather than dot(a, a) == 0, saves some calculations. 

Modified Paths:
--------------
    trunk/blender/intern/cycles/bvh/bvh.cpp
    trunk/blender/intern/cycles/kernel/kernel_camera.h
    trunk/blender/intern/cycles/kernel/kernel_light.h

Modified: trunk/blender/intern/cycles/bvh/bvh.cpp
===================================================================
--- trunk/blender/intern/cycles/bvh/bvh.cpp	2013-05-14 18:16:37 UTC (rev 56801)
+++ trunk/blender/intern/cycles/bvh/bvh.cpp	2013-05-14 18:31:55 UTC (rev 56802)
@@ -32,6 +32,7 @@
 #include "util_progress.h"
 #include "util_system.h"
 #include "util_types.h"
+#include "util_math.h"
 
 CCL_NAMESPACE_BEGIN
 
@@ -251,7 +252,7 @@
 	float3 r1 = v1 - v2;
 	float3 r2 = cross(r0, r1);
 
-	if(dot(r0, r0) == 0.0f || dot(r1, r1) == 0.0f || dot(r2, r2) == 0.0f) {
+	if(is_zero(r0) || is_zero(r1) || is_zero(r2)) {
 		/* degenerate */
 		woop[0] = make_float4(0.0f, 0.0f, 0.0f, 0.0f);
 		woop[1] = make_float4(0.0f, 0.0f, 0.0f, 0.0f);

Modified: trunk/blender/intern/cycles/kernel/kernel_camera.h
===================================================================
--- trunk/blender/intern/cycles/kernel/kernel_camera.h	2013-05-14 18:16:37 UTC (rev 56801)
+++ trunk/blender/intern/cycles/kernel/kernel_camera.h	2013-05-14 18:31:55 UTC (rev 56802)
@@ -187,7 +187,7 @@
 	}
 
 	/* indicates ray should not receive any light, outside of the lens */
-	if(len_squared(ray->D) == 0.0f) {
+	if(is_zero(ray->D)) {	
 		ray->t = 0.0f;
 		return;
 	}

Modified: trunk/blender/intern/cycles/kernel/kernel_light.h
===================================================================
--- trunk/blender/intern/cycles/kernel/kernel_light.h	2013-05-14 18:16:37 UTC (rev 56801)
+++ trunk/blender/intern/cycles/kernel/kernel_light.h	2013-05-14 18:31:55 UTC (rev 56802)
@@ -492,7 +492,7 @@
 	float r2 = P2.w;
 	float3 tg = (float4_to_float3(P2) - float4_to_float3(P1)) / l;
 	float3 xc = make_float3(tg.x * tg.z, tg.y * tg.z, -(tg.x * tg.x + tg.y * tg.y));
-	if (dot(xc, xc) == 0.0f)
+	if (is_zero(xc))
 		xc = make_float3(tg.x * tg.y, -(tg.x * tg.x + tg.z * tg.z), tg.z * tg.y);
 	xc = normalize(xc);
 	float3 yc = cross(tg, xc);




More information about the Bf-blender-cvs mailing list