[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [55144] trunk/blender/intern/cycles/kernel /shaders: Cycles / OSL:

Thomas Dinges blender at dingto.org
Sun Mar 10 01:42:50 CET 2013


Revision: 55144
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=55144
Author:   dingto
Date:     2013-03-10 00:42:47 +0000 (Sun, 10 Mar 2013)
Log Message:
-----------
Cycles / OSL:
* More small improvements: return immediately, and use "else if".

Modified Paths:
--------------
    trunk/blender/intern/cycles/kernel/shaders/node_math.osl
    trunk/blender/intern/cycles/kernel/shaders/node_texture.h
    trunk/blender/intern/cycles/kernel/shaders/node_vector_math.osl
    trunk/blender/intern/cycles/kernel/shaders/node_wave_texture.osl

Modified: trunk/blender/intern/cycles/kernel/shaders/node_math.osl
===================================================================
--- trunk/blender/intern/cycles/kernel/shaders/node_math.osl	2013-03-10 00:11:52 UTC (rev 55143)
+++ trunk/blender/intern/cycles/kernel/shaders/node_math.osl	2013-03-10 00:42:47 UTC (rev 55144)
@@ -49,37 +49,37 @@
 
 	if (type == "Add")
 		Value = Value1 + Value2;
-	if (type == "Subtract")
+	else if (type == "Subtract")
 		Value = Value1 - Value2;
-	if (type == "Multiply")
+	else if (type == "Multiply")
 		Value = Value1 * Value2;
-	if (type == "Divide")
+	else if (type == "Divide")
 		Value = safe_divide(Value1, Value2);
-	if (type == "Sine")
+	else if (type == "Sine")
 		Value = sin(Value1);
-	if (type == "Cosine")
+	else if (type == "Cosine")
 		Value = cos(Value1);
-	if (type == "Tangent")
+	else if (type == "Tangent")
 		Value = tan(Value1);
-	if (type == "Arcsine")
+	else if (type == "Arcsine")
 		Value = asin(Value1);
-	if (type == "Arccosine")
+	else if (type == "Arccosine")
 		Value = acos(Value1);
-	if (type == "Arctangent")
+	else if (type == "Arctangent")
 		Value = atan(Value1);
-	if (type == "Power")
+	else if (type == "Power")
 		Value = pow(Value1, Value2);
-	if (type == "Logarithm")
+	else if (type == "Logarithm")
 		Value = safe_log(Value1, Value2);
-	if (type == "Minimum")
+	else if (type == "Minimum")
 		Value = min(Value1, Value2);
-	if (type == "Maximum")
+	else if (type == "Maximum")
 		Value = max(Value1, Value2);
-	if (type == "Round")
+	else if (type == "Round")
 		Value = floor(Value1 + 0.5);
-	if (type == "Less Than")
+	else if (type == "Less Than")
 		Value = Value1 < Value2;
-	if (type == "Greater Than")
+	else if (type == "Greater Than")
 		Value = Value1 > Value2;
 
 	if (Clamp)

Modified: trunk/blender/intern/cycles/kernel/shaders/node_texture.h
===================================================================
--- trunk/blender/intern/cycles/kernel/shaders/node_texture.h	2013-03-10 00:11:52 UTC (rev 55143)
+++ trunk/blender/intern/cycles/kernel/shaders/node_texture.h	2013-03-10 00:42:47 UTC (rev 55144)
@@ -18,24 +18,22 @@
 
 float voronoi_distance(string distance_metric, vector d, float e)
 {
-	float result = 0.0;
-
 	if (distance_metric == "Distance Squared")
-		result = dot(d, d);
+		return dot(d, d);
 	if (distance_metric == "Actual Distance")
-		result = length(d);
+		return length(d);
 	if (distance_metric == "Manhattan")
-		result = fabs(d[0]) + fabs(d[1]) + fabs(d[2]);
+		return fabs(d[0]) + fabs(d[1]) + fabs(d[2]);
 	if (distance_metric == "Chebychev")
-		result = max(fabs(d[0]), max(fabs(d[1]), fabs(d[2])));
+		return max(fabs(d[0]), max(fabs(d[1]), fabs(d[2])));
 	if (distance_metric == "Minkovsky 1/2")
-		result = sqrt(fabs(d[0])) + sqrt(fabs(d[1])) + sqrt(fabs(d[1]));
+		return sqrt(fabs(d[0])) + sqrt(fabs(d[1])) + sqrt(fabs(d[1]));
 	if (distance_metric == "Minkovsky 4")
-		result = sqrt(sqrt(dot(d * d, d * d)));
+		return sqrt(sqrt(dot(d * d, d * d)));
 	if (distance_metric == "Minkovsky")
-		result = pow(pow(fabs(d[0]), e) + pow(fabs(d[1]), e) + pow(fabs(d[2]), e), 1.0 / e);
+		return pow(pow(fabs(d[0]), e) + pow(fabs(d[1]), e) + pow(fabs(d[2]), e), 1.0 / e);
 	
-	return result;
+	return 0.0;
 }
 
 /* Voronoi / Worley like */
@@ -207,24 +205,24 @@
 	float result = 0.0;
 
 	if (wave == "Sine") {
-		result = 0.5 + 0.5 * sin(a);
+		return 0.5 + 0.5 * sin(a);
 	}
-	else if (wave == "Saw") {
+	if (wave == "Saw") {
 		float b = 2 * M_PI;
 		int n = (int)(a / b);
 		a -= n * b;
 		if (a < 0) a += b;
 
-		result = a / b;
+		return a / b;
 	}
-	else if (wave == "Tri") {
+	if (wave == "Tri") {
 		float b = 2 * M_PI;
 		float rmax = 1.0;
 
-		result = rmax - 2.0 * fabs(floor((a * (1.0 / b)) + 0.5) - (a * (1.0 / b)));
+		return rmax - 2.0 * fabs(floor((a * (1.0 / b)) + 0.5) - (a * (1.0 / b)));
 	}
 
-	return result;
+	return 0.0;
 }
 
 /* Turbulence */

Modified: trunk/blender/intern/cycles/kernel/shaders/node_vector_math.osl
===================================================================
--- trunk/blender/intern/cycles/kernel/shaders/node_vector_math.osl	2013-03-10 00:11:52 UTC (rev 55143)
+++ trunk/blender/intern/cycles/kernel/shaders/node_vector_math.osl	2013-03-10 00:42:47 UTC (rev 55144)
@@ -29,23 +29,23 @@
 		Vector = Vector1 + Vector2;
 		Value = (abs(Vector[0]) + abs(Vector[1]) + abs(Vector[2])) / 3.0;
 	}
-	if (type == "Subtract") {
+	else if (type == "Subtract") {
 		Vector = Vector1 - Vector2;
 		Value = (abs(Vector[0]) + abs(Vector[1]) + abs(Vector[2])) / 3.0;
 	}
-	if (type == "Average") {
+	else if (type == "Average") {
 		Value = length(Vector1 + Vector2);
 		Vector = normalize(Vector1 + Vector2);
 	}
-	if (type == "Dot Product") {
+	else if (type == "Dot Product") {
 		Value = dot(Vector1, Vector2);
 	}
-	if (type == "Cross Product") {
+	else if (type == "Cross Product") {
 		vector c = cross(Vector1, Vector2);
 		Value = length(c);
 		Vector = normalize(c);
 	}
-	if (type == "Normalize") {
+	else if (type == "Normalize") {
 		Value = length(Vector1);
 		Vector = normalize(Vector1);
 	}

Modified: trunk/blender/intern/cycles/kernel/shaders/node_wave_texture.osl
===================================================================
--- trunk/blender/intern/cycles/kernel/shaders/node_wave_texture.osl	2013-03-10 00:11:52 UTC (rev 55143)
+++ trunk/blender/intern/cycles/kernel/shaders/node_wave_texture.osl	2013-03-10 00:42:47 UTC (rev 55144)
@@ -27,7 +27,6 @@
 	float y = p[1] * scale;
 	float z = p[2] * scale;
 
-	float result = 0.0;
 	float n = 0.0;
 
 	if (type == "Bands") {
@@ -40,9 +39,7 @@
 	if (distortion != 0.0) {
 		n = n + (distortion * noise_turbulence(p * dscale, "Perlin", detail, 0));
 	}
-	result = noise_wave("Sine", n);
-	
-	return result;
+	return noise_wave("Sine", n);
 }
 
 shader node_wave_texture(
@@ -63,6 +60,6 @@
 		p = transform(mapping, p);
 
 	Fac = wave(p, Scale, Type, Detail, Distortion, DetailScale);
-	Color = color(Fac, Fac, Fac);
+	Color = Fac;
 }
 




More information about the Bf-blender-cvs mailing list