From bb0b250cbded8bb89d89e67cc2b39826bf3f7fa6 Mon Sep 17 00:00:00 2001 From: Sam Miller Date: Mon, 8 Feb 2021 13:32:57 +0100 Subject: [PATCH] Fix T85368: map range node clamps incorrectly in geometry nodes When clamp is enabled, it should clamp between the output min and max and not between 0 and 1. Differential Revision: https://developer.blender.org/D10324 --- source/blender/nodes/shader/nodes/node_shader_map_range.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/blender/nodes/shader/nodes/node_shader_map_range.cc b/source/blender/nodes/shader/nodes/node_shader_map_range.cc index 4a6c9ec9a4d..c01e390c513 100644 --- a/source/blender/nodes/shader/nodes/node_shader_map_range.cc +++ b/source/blender/nodes/shader/nodes/node_shader_map_range.cc @@ -122,7 +122,8 @@ class MapRangeFunction : public blender::fn::MultiFunction { if (clamp_) { for (int64_t i : mask) { - CLAMP(results[i], 0.0f, 1.0f); + results[i] = (to_min[i] > to_max[i]) ? clamp_f(results[i], to_max[i], to_min[i]) : + clamp_f(results[i], to_min[i], to_max[i]); } } }