diff --git a/intern/cycles/kernel/shaders/node_math.osl b/intern/cycles/kernel/shaders/node_math.osl index 24dce898fd2..2ec1a5f0a32 100644 --- a/intern/cycles/kernel/shaders/node_math.osl +++ b/intern/cycles/kernel/shaders/node_math.osl @@ -49,37 +49,37 @@ shader node_math( 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) diff --git a/intern/cycles/kernel/shaders/node_texture.h b/intern/cycles/kernel/shaders/node_texture.h index 67735487b89..f2aedb098d4 100644 --- a/intern/cycles/kernel/shaders/node_texture.h +++ b/intern/cycles/kernel/shaders/node_texture.h @@ -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 noise_wave(string wave, float a) 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 */ diff --git a/intern/cycles/kernel/shaders/node_vector_math.osl b/intern/cycles/kernel/shaders/node_vector_math.osl index f22a6e8441a..4c94fc659c2 100644 --- a/intern/cycles/kernel/shaders/node_vector_math.osl +++ b/intern/cycles/kernel/shaders/node_vector_math.osl @@ -29,23 +29,23 @@ shader node_vector_math( 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); } diff --git a/intern/cycles/kernel/shaders/node_wave_texture.osl b/intern/cycles/kernel/shaders/node_wave_texture.osl index 11c4689196d..12b837bc448 100644 --- a/intern/cycles/kernel/shaders/node_wave_texture.osl +++ b/intern/cycles/kernel/shaders/node_wave_texture.osl @@ -27,7 +27,6 @@ float wave(point p, float scale, string type, float detail, float distortion, fl 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 @@ float wave(point p, float scale, string type, float detail, float distortion, fl 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 @@ shader node_wave_texture( p = transform(mapping, p); Fac = wave(p, Scale, Type, Detail, Distortion, DetailScale); - Color = color(Fac, Fac, Fac); + Color = Fac; }