From 42db4fb50a847197ab83c00dd799d9645d761b01 Mon Sep 17 00:00:00 2001 From: Dalai Felinto Date: Wed, 14 Nov 2012 22:15:45 +0000 Subject: fix range map node clipping when max < min (useful for flipping the values inside the node) --- source/blender/compositor/operations/COM_MapRangeOperation.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'source/blender/compositor/operations') diff --git a/source/blender/compositor/operations/COM_MapRangeOperation.cpp b/source/blender/compositor/operations/COM_MapRangeOperation.cpp index 3facaaebc9c..c25b056130b 100644 --- a/source/blender/compositor/operations/COM_MapRangeOperation.cpp +++ b/source/blender/compositor/operations/COM_MapRangeOperation.cpp @@ -65,8 +65,14 @@ void MapRangeOperation::executePixel(float output[4], float x, float y, PixelSam value = (value - source_min) / (source_max - source_min); value = dest_min + value * (dest_max - dest_min); - if (this->m_useClamp) - CLAMP(value, dest_min, dest_max); + if (this->m_useClamp) { + if (dest_max > dest_min) { + CLAMP(value, dest_min, dest_max); + } + else { + CLAMP(value, dest_max, dest_min); + } + } output[0] = value; } -- cgit v1.2.3