summaryrefslogtreecommitdiff
path: root/src/effects/shaders/gammaadjust.frag
diff options
context:
space:
mode:
authorJoni Poikelin <joni.poikelin@qt.io>2016-12-30 11:56:53 +0200
committerLaszlo Agocs <laszlo.agocs@qt.io>2017-06-08 10:31:36 +0000
commitc1c259ea76c4d8c94f6d96c3fd0bbbece25785bf (patch)
tree2c9657fa07abab5931d2e62835dccda89dbbd94e /src/effects/shaders/gammaadjust.frag
parent8ffe4cc5244f9d2dfa0f9444f2aa86c74dc593c8 (diff)
downloadqtgraphicaleffects-c1c259ea76c4d8c94f6d96c3fd0bbbece25785bf.tar.gz
Support OpenGL core profile
[ChangeLog][Qt Graphical Effects] Added QtGraphicalEffects support for OpenGL Core profile contexts. Task-number: QTBUG-42107 Change-Id: I7111e2e6fb3a0b0391e76a17a8d091d288bfcc23 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Diffstat (limited to 'src/effects/shaders/gammaadjust.frag')
-rw-r--r--src/effects/shaders/gammaadjust.frag10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/effects/shaders/gammaadjust.frag b/src/effects/shaders/gammaadjust.frag
new file mode 100644
index 0000000..f87492a
--- /dev/null
+++ b/src/effects/shaders/gammaadjust.frag
@@ -0,0 +1,10 @@
+varying highp vec2 qt_TexCoord0;
+uniform highp float qt_Opacity;
+uniform lowp sampler2D source;
+uniform highp float gamma;
+void main(void) {
+ highp vec4 originalColor = texture2D(source, qt_TexCoord0.st);
+ originalColor.rgb = originalColor.rgb / max(1.0/256.0, originalColor.a);
+ highp vec3 adjustedColor = pow(originalColor.rgb, vec3(gamma));
+ gl_FragColor = vec4(adjustedColor * originalColor.a, originalColor.a) * qt_Opacity;
+}