From 63d8ccf9ffb18c8670292d8c57dbd85c629de485 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Mon, 5 Mar 2018 11:44:42 +0100 Subject: Fix T54225: Blur node stopped working when Map Range was fed with image The issue was happening with fast Gaussian blur, and caused by NaN value pixels in the input buffer. Now made it so Map Range output does not produce NaN, by returning arbitrary value of 0. Still better than NaN! --- source/blender/compositor/operations/COM_MapRangeOperation.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'source/blender/compositor') diff --git a/source/blender/compositor/operations/COM_MapRangeOperation.cpp b/source/blender/compositor/operations/COM_MapRangeOperation.cpp index 7a89ba91b4c..7a38d066122 100644 --- a/source/blender/compositor/operations/COM_MapRangeOperation.cpp +++ b/source/blender/compositor/operations/COM_MapRangeOperation.cpp @@ -65,6 +65,11 @@ void MapRangeOperation::executePixelSampled(float output[4], float x, float y, P dest_min = inputs[3]; dest_max = inputs[4]; + if (fabsf(source_max - source_min) < 1e-6f) { + output[0] = 0.0f; + return; + } + if (value >= -BLENDER_ZMAX && value <= BLENDER_ZMAX) { value = (value - source_min) / (source_max - source_min); value = dest_min + value * (dest_max - dest_min); -- cgit v1.2.3