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

Thomas Dinges blender at dingto.org
Fri May 10 14:51:31 CEST 2013


Revision: 56659
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56659
Author:   dingto
Date:     2013-05-10 12:51:30 +0000 (Fri, 10 May 2013)
Log Message:
-----------
Code cleanup / Cycles:
* Change some more if / else if conditions to switch / case. 
* Avoid an unneeded variable casting in phong_ramp closure. 

Modified Paths:
--------------
    trunk/blender/intern/cycles/blender/blender_curves.cpp
    trunk/blender/intern/cycles/blender/blender_mesh.cpp
    trunk/blender/intern/cycles/kernel/closure/bsdf_phong_ramp.h

Modified: trunk/blender/intern/cycles/blender/blender_curves.cpp
===================================================================
--- trunk/blender/intern/cycles/blender/blender_curves.cpp	2013-05-10 12:39:11 UTC (rev 56658)
+++ trunk/blender/intern/cycles/blender/blender_curves.cpp	2013-05-10 12:51:30 UTC (rev 56659)
@@ -73,32 +73,36 @@
 void interp_weights(float t, float data[4], int type)
 {
 	float t2, t3, fc;
+	
+	switch (type) {
+		case CURVE_LINEAR:
+			data[0] =          0.0f;
+			data[1] = -t     + 1.0f;
+			data[2] =  t;
+			data[3] =          0.0f;
+			break;
+		case CURVE_CARDINAL:
+			t2 = t * t;
+			t3 = t2 * t;
+			fc = 0.71f;
 
-	if(type == CURVE_LINEAR) {
-		data[0] =          0.0f;
-		data[1] = -t     + 1.0f;
-		data[2] =  t;
-		data[3] =          0.0f;
-	}
-	else if(type == CURVE_CARDINAL) {
-		t2 = t * t;
-		t3 = t2 * t;
-		fc = 0.71f;
+			data[0] = -fc          * t3  + 2.0f * fc          * t2 - fc * t;
+			data[1] =  (2.0f - fc) * t3  + (fc - 3.0f)        * t2 + 1.0f;
+			data[2] =  (fc - 2.0f) * t3  + (3.0f - 2.0f * fc) * t2 + fc * t;
+			data[3] =  fc          * t3  - fc * t2;
+			break;
+		case CURVE_BSPLINE:
+			t2 = t * t;
+			t3 = t2 * t;
 
-		data[0] = -fc          * t3  + 2.0f * fc          * t2 - fc * t;
-		data[1] =  (2.0f - fc) * t3  + (fc - 3.0f)        * t2 + 1.0f;
-		data[2] =  (fc - 2.0f) * t3  + (3.0f - 2.0f * fc) * t2 + fc * t;
-		data[3] =  fc          * t3  - fc * t2;
+			data[0] = -0.16666666f * t3  + 0.5f * t2   - 0.5f * t    + 0.16666666f;
+			data[1] =  0.5f        * t3  - t2                        + 0.66666666f;
+			data[2] = -0.5f        * t3  + 0.5f * t2   + 0.5f * t    + 0.16666666f;
+			data[3] =  0.16666666f * t3;
+			break;
+		default:
+			break;
 	}
-	else if(type == CURVE_BSPLINE) {
-		t2 = t * t;
-		t3 = t2 * t;
-
-		data[0] = -0.16666666f * t3  + 0.5f * t2   - 0.5f * t    + 0.16666666f;
-		data[1] =  0.5f        * t3  - t2                        + 0.66666666f;
-		data[2] = -0.5f        * t3  + 0.5f * t2   + 0.5f * t    + 0.16666666f;
-		data[3] =  0.16666666f * t3;
-	}
 }
 
 void curveinterp_v3_v3v3v3v3(float3 *p, float3 *v1, float3 *v2, float3 *v3, float3 *v4, const float w[4])

Modified: trunk/blender/intern/cycles/blender/blender_mesh.cpp
===================================================================
--- trunk/blender/intern/cycles/blender/blender_mesh.cpp	2013-05-10 12:39:11 UTC (rev 56658)
+++ trunk/blender/intern/cycles/blender/blender_mesh.cpp	2013-05-10 12:51:30 UTC (rev 56659)
@@ -82,16 +82,22 @@
 	MikkUserData *userdata = (MikkUserData*)context->m_pUserData;
 	BL::MeshTextureFace tf = userdata->layer.data[face_num];
 	float3 tfuv;
-
-	if(vert_num == 0)
-		tfuv = get_float3(tf.uv1());
-	else if(vert_num == 1)
-		tfuv = get_float3(tf.uv2());
-	else if(vert_num == 2)
-		tfuv = get_float3(tf.uv3());
-	else
-		tfuv = get_float3(tf.uv4());
 	
+	switch (vert_num) {
+		case 0:
+			tfuv = get_float3(tf.uv1());
+			break;
+		case 1:
+			tfuv = get_float3(tf.uv2());
+			break;
+		case 2:
+			tfuv = get_float3(tf.uv3());
+			break;
+		default:
+			tfuv = get_float3(tf.uv4());
+			break;
+	}
+	
 	uv[0] = tfuv.x;
 	uv[1] = tfuv.y;
 }

Modified: trunk/blender/intern/cycles/kernel/closure/bsdf_phong_ramp.h
===================================================================
--- trunk/blender/intern/cycles/kernel/closure/bsdf_phong_ramp.h	2013-05-10 12:39:11 UTC (rev 56658)
+++ trunk/blender/intern/cycles/kernel/closure/bsdf_phong_ramp.h	2013-05-10 12:51:30 UTC (rev 56659)
@@ -69,7 +69,7 @@
 		float cosRI = dot(R, omega_in);
 		if (cosRI > 0) {
 			float cosp = powf(cosRI, m_exponent);
-			float common = 0.5f * (float) M_1_PI_F * cosp;
+			float common = 0.5f * M_1_PI_F * cosp;
 			float out = cosNI * (m_exponent + 2) * common;
 			*pdf = (m_exponent + 1) * common;
 			return bsdf_phong_ramp_get_color(sc, colors, cosp) * out;




More information about the Bf-blender-cvs mailing list