[Bf-blender-cvs] [63d8ccf9ffb] master: Fix T54225: Blur node stopped working when Map Range was fed with image

Sergey Sharybin noreply at git.blender.org
Mon Mar 5 11:47:21 CET 2018


Commit: 63d8ccf9ffb18c8670292d8c57dbd85c629de485
Author: Sergey Sharybin
Date:   Mon Mar 5 11:44:42 2018 +0100
Branches: master
https://developer.blender.org/rB63d8ccf9ffb18c8670292d8c57dbd85c629de485

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!

===================================================================

M	source/blender/compositor/operations/COM_MapRangeOperation.cpp

===================================================================

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);



More information about the Bf-blender-cvs mailing list