[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