diff options
Diffstat (limited to 'intern/cycles/kernel/shaders/node_map_range.osl')
-rw-r--r-- | intern/cycles/kernel/shaders/node_map_range.osl | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/intern/cycles/kernel/shaders/node_map_range.osl b/intern/cycles/kernel/shaders/node_map_range.osl deleted file mode 100644 index 2fcc664a80e..00000000000 --- a/intern/cycles/kernel/shaders/node_map_range.osl +++ /dev/null @@ -1,58 +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 "stdcycles.h" - -float safe_divide(float a, float b) -{ - return (b != 0.0) ? a / b : 0.0; -} - -float smootherstep(float edge0, float edge1, float x) -{ - float t = clamp(safe_divide((x - edge0), (edge1 - edge0)), 0.0, 1.0); - return t * t * t * (t * (t * 6.0 - 15.0) + 10.0); -} - -shader node_map_range(string range_type = "linear", - float Value = 1.0, - float FromMin = 0.0, - float FromMax = 1.0, - float ToMin = 0.0, - float ToMax = 1.0, - float Steps = 4.0, - output float Result = 0.0) -{ - if (FromMax != FromMin) { - float Factor = Value; - if (range_type == "stepped") { - Factor = (Value - FromMin) / (FromMax - FromMin); - Factor = (Steps > 0) ? floor(Factor * (Steps + 1.0)) / Steps : 0.0; - } - else if (range_type == "smoothstep") { - Factor = (FromMin > FromMax) ? 1.0 - smoothstep(FromMax, FromMin, Value) : - smoothstep(FromMin, FromMax, Value); - } - else if (range_type == "smootherstep") { - Factor = (FromMin > FromMax) ? 1.0 - smootherstep(FromMax, FromMin, Value) : - smootherstep(FromMin, FromMax, Value); - } - else { - Factor = (Value - FromMin) / (FromMax - FromMin); - } - Result = ToMin + Factor * (ToMax - ToMin); - } -} |