diff options
author | Charlie Jolly <charlie> | 2019-12-07 15:35:07 +0300 |
---|---|---|
committer | Charlie Jolly <mistajolly@gmail.com> | 2019-12-07 15:52:42 +0300 |
commit | 958d0d4236b1cfa600a7f36f6bdc51fdd0d98a97 (patch) | |
tree | 567a1e3209e6302dd784c054b858a8b5fb92bc9f /intern/cycles/blender/blender_shader.cpp | |
parent | 0406eb110332a863811d7fb6228f9a7ca514e022 (diff) |
Shader Nodes: Add Interpolation modes to Map Range node
Modes: Linear interpolation (default), stepped linear, smoothstep and smootherstep.
This also includes an additional option for the **Clamp node** to switch between **Min Max** (default) and **Range** mode.
This was needed to allow clamping when **To Max** is less than **To Min**.
Reviewed By: JacquesLucke, brecht
Differential Revision: https://developer.blender.org/D5827
Diffstat (limited to 'intern/cycles/blender/blender_shader.cpp')
-rw-r--r-- | intern/cycles/blender/blender_shader.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index 22dbc3fba79..412e54ea29d 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -301,10 +301,14 @@ static ShaderNode *add_node(Scene *scene, BL::ShaderNodeMapRange b_map_range_node(b_node); MapRangeNode *map_range_node = new MapRangeNode(); map_range_node->clamp = b_map_range_node.clamp(); + map_range_node->type = (NodeMapRangeType)b_map_range_node.interpolation_type(); node = map_range_node; } else if (b_node.is_a(&RNA_ShaderNodeClamp)) { - node = new ClampNode(); + BL::ShaderNodeClamp b_clamp_node(b_node); + ClampNode *clamp_node = new ClampNode(); + clamp_node->type = (NodeClampType)b_clamp_node.clamp_type(); + node = clamp_node; } else if (b_node.is_a(&RNA_ShaderNodeMath)) { BL::ShaderNodeMath b_math_node(b_node); |