diff options
Diffstat (limited to 'intern/cycles/kernel/shaders/node_math.osl')
-rw-r--r-- | intern/cycles/kernel/shaders/node_math.osl | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/intern/cycles/kernel/shaders/node_math.osl b/intern/cycles/kernel/shaders/node_math.osl deleted file mode 100644 index 66884610561..00000000000 --- a/intern/cycles/kernel/shaders/node_math.osl +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright 2011-2013 Blender Foundation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "node_math.h" -#include "stdcycles.h" - -/* OSL asin, acos, and pow functions are safe by default. */ -shader node_math(string math_type = "add", - float Value1 = 0.5, - float Value2 = 0.5, - float Value3 = 0.5, - output float Value = 0.0) -{ - if (math_type == "add") - Value = Value1 + Value2; - else if (math_type == "subtract") - Value = Value1 - Value2; - else if (math_type == "multiply") - Value = Value1 * Value2; - else if (math_type == "divide") - Value = safe_divide(Value1, Value2); - else if (math_type == "power") - Value = pow(Value1, Value2); - else if (math_type == "logarithm") - Value = safe_log(Value1, Value2); - else if (math_type == "sqrt") - Value = safe_sqrt(Value1); - else if (math_type == "inversesqrt") - Value = inversesqrt(Value1); - else if (math_type == "absolute") - Value = fabs(Value1); - else if (math_type == "radians") - Value = radians(Value1); - else if (math_type == "degrees") - Value = degrees(Value1); - else if (math_type == "minimum") - Value = min(Value1, Value2); - else if (math_type == "maximum") - Value = max(Value1, Value2); - else if (math_type == "less_than") - Value = Value1 < Value2; - else if (math_type == "greater_than") - Value = Value1 > Value2; - else if (math_type == "round") - Value = floor(Value1 + 0.5); - else if (math_type == "floor") - Value = floor(Value1); - else if (math_type == "ceil") - Value = ceil(Value1); - else if (math_type == "fraction") - Value = Value1 - floor(Value1); - else if (math_type == "modulo") - Value = safe_modulo(Value1, Value2); - else if (math_type == "trunc") - Value = trunc(Value1); - else if (math_type == "snap") - Value = floor(safe_divide(Value1, Value2)) * Value2; - else if (math_type == "wrap") - Value = wrap(Value1, Value2, Value3); - else if (math_type == "pingpong") - Value = pingpong(Value1, Value2); - else if (math_type == "sine") - Value = sin(Value1); - else if (math_type == "cosine") - Value = cos(Value1); - else if (math_type == "tangent") - Value = tan(Value1); - else if (math_type == "sinh") - Value = sinh(Value1); - else if (math_type == "cosh") - Value = cosh(Value1); - else if (math_type == "tanh") - Value = tanh(Value1); - else if (math_type == "arcsine") - Value = asin(Value1); - else if (math_type == "arccosine") - Value = acos(Value1); - else if (math_type == "arctangent") - Value = atan(Value1); - else if (math_type == "arctan2") - Value = atan2(Value1, Value2); - else if (math_type == "sign") - Value = sign(Value1); - else if (math_type == "exponent") - Value = exp(Value1); - else if (math_type == "compare") - Value = ((Value1 == Value2) || (abs(Value1 - Value2) <= max(Value3, 1e-5))) ? 1.0 : 0.0; - else if (math_type == "multiply_add") - Value = Value1 * Value2 + Value3; - else if (math_type == "smoothmin") - Value = smoothmin(Value1, Value2, Value3); - else if (math_type == "smoothmax") - Value = -(smoothmin(-Value1, -Value2, Value3)); - else - warning("%s", "Unknown math operator!"); -} |