aboutsummaryrefslogtreecommitdiff
path: root/vendor/gioui.org/shader/gio/zmaterial.frag.0.glsl100es
blob: f2f2a303d71ae2fc637f472993d1236dce061065 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#version 100
precision mediump float;
precision highp int;

struct Color
{
    float emulateSRGB;
};

uniform Color _color;

uniform mediump sampler2D tex;

varying highp vec2 vUV;

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 = texture2D(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;
    }
    gl_FragData[0] = texel;
}