aboutsummaryrefslogtreecommitdiff
path: root/vendor/gioui.org/shader/gio/zmaterial.frag.0.glsl150
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gioui.org/shader/gio/zmaterial.frag.0.glsl150')
-rw-r--r--vendor/gioui.org/shader/gio/zmaterial.frag.0.glsl15036
1 files changed, 36 insertions, 0 deletions
diff --git a/vendor/gioui.org/shader/gio/zmaterial.frag.0.glsl150 b/vendor/gioui.org/shader/gio/zmaterial.frag.0.glsl150
new file mode 100644
index 0000000..6b8bed3
--- /dev/null
+++ b/vendor/gioui.org/shader/gio/zmaterial.frag.0.glsl150
@@ -0,0 +1,36 @@
+#version 150
+
+struct Color
+{
+ float emulateSRGB;
+};
+
+uniform Color _color;
+
+uniform sampler2D tex;
+
+in vec2 vUV;
+out vec4 fragColor;
+
+vec3 RGBtosRGB(vec3 rgb)
+{
+ bvec3 cutoff = greaterThanEqual(rgb, vec3(0.003130800090730190277099609375));
+ vec3 below = vec3(12.9200000762939453125) * rgb;
+ vec3 above = (vec3(1.05499994754791259765625) * pow(rgb, vec3(0.416660010814666748046875))) - vec3(0.054999999701976776123046875);
+ return vec3(cutoff.x ? above.x : below.x, cutoff.y ? above.y : below.y, cutoff.z ? above.z : below.z);
+}
+
+void main()
+{
+ vec4 texel = texture(tex, vUV);
+ if (_color.emulateSRGB == 0.0)
+ {
+ vec3 param = texel.xyz;
+ vec3 _71 = RGBtosRGB(param);
+ texel.x = _71.x;
+ texel.y = _71.y;
+ texel.z = _71.z;
+ }
+ fragColor = texel;
+}
+