Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-10-03 11:33:04 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-10-03 11:33:04 +0400
commitb288bc4ea4329c1097216979faef93295fcdb0db (patch)
tree372dbc82c4003cf36f0107835e2cc7ac37cf2c86 /source/blender/compositor
parent9e0a1b613f6b741bbdaaab6af35a1fc0743fe4b2 (diff)
fix [#32739] Glare node does "add" instead of "lighten"
Diffstat (limited to 'source/blender/compositor')
-rw-r--r--source/blender/compositor/operations/COM_MixGlareOperation.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/source/blender/compositor/operations/COM_MixGlareOperation.cpp b/source/blender/compositor/operations/COM_MixGlareOperation.cpp
index b6a9aa3da3c..1c6555206da 100644
--- a/source/blender/compositor/operations/COM_MixGlareOperation.cpp
+++ b/source/blender/compositor/operations/COM_MixGlareOperation.cpp
@@ -40,9 +40,13 @@ void MixGlareOperation::executePixel(float output[4], float x, float y, PixelSam
value = inputValue[0];
float mf = 2.f - 2.f * fabsf(value - 0.5f);
- output[0] = mf * ((inputColor1[0]) + value * (inputColor2[0] - inputColor1[0]));
- output[1] = mf * ((inputColor1[1]) + value * (inputColor2[1] - inputColor1[1]));
- output[2] = mf * ((inputColor1[2]) + value * (inputColor2[2] - inputColor1[2]));
+ if (inputColor1[0] < 0.0f) inputColor1[0] = 0.0f;
+ if (inputColor1[1] < 0.0f) inputColor1[1] = 0.0f;
+ if (inputColor1[2] < 0.0f) inputColor1[2] = 0.0f;
+
+ output[0] = mf * max(inputColor1[0] + value * (inputColor2[0] - inputColor1[0]), 0.0f);
+ output[1] = mf * max(inputColor1[1] + value * (inputColor2[1] - inputColor1[1]), 0.0f);
+ output[2] = mf * max(inputColor1[2] + value * (inputColor2[2] - inputColor1[2]), 0.0f);
output[3] = inputColor1[3];
clampIfNeeded(output);