aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarko Niemelä <marko.a.niemela@nokia.com>2012-05-14 09:22:47 +0300
committerQt by Nokia <qt-info@nokia.com>2012-05-14 08:16:15 +0200
commitb872b1a213ef7f6eefc340b8ec5797891a612606 (patch)
tree9f25de7dae002fb0857b8a068e743ae6c1c759bd /src
parent6c06561beaa21d2f1b6d062b2a2181e1f1c666f2 (diff)
BrightnessContrast effect brightness handling fixed.
Brightness is now adjusted by mixing original pixels to white or black instead of the previous way which did not handle transparency correctly. Change-Id: I3346376cbd79302a67cb1ae5045b4948b1f4115f Reviewed-by: Kim Gronholm <kim.1.gronholm@nokia.com>
Diffstat (limited to 'src')
-rwxr-xr-x[-rw-r--r--]src/effects/BrightnessContrast.qml6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/effects/BrightnessContrast.qml b/src/effects/BrightnessContrast.qml
index 5e0f16a..545be08 100644..100755
--- a/src/effects/BrightnessContrast.qml
+++ b/src/effects/BrightnessContrast.qml
@@ -84,10 +84,8 @@ Item {
highp float c = 1.0 + contrast;
highp float contrastGainFactor = 1.0 + c * c * c * c * step(0.0, contrast);
pixelColor.rgb = ((pixelColor.rgb - 0.5) * (contrastGainFactor * contrast + 1.0)) + 0.5;
- pixelColor.rgb += brightness;
- pixelColor.rgb *= pixelColor.a;
- pixelColor.rgb = mix(pixelColor.rgb, vec3(1.0, 1.0, 1.0), brightness);
- gl_FragColor = pixelColor * qt_Opacity;
+ pixelColor.rgb = mix(pixelColor.rgb, vec3(step(0.0, brightness)), abs(brightness));
+ gl_FragColor = vec4(pixelColor.rgb * pixelColor.a, pixelColor.a) * qt_Opacity;
}
"
}